RFR (XS) 8241838: Shenandoah: no need to trash cset during final mark

Aleksey Shipilev shade at redhat.com
Mon Mar 30 12:23:11 UTC 2020


RFE:
  https://bugs.openjdk.java.net/browse/JDK-8241838

Follow up from CM-with-UR removal (JDK-8240868): we do not ever see cset during final mark now, so
trashing the cset is effectively noop. Ditching this saves about 2-3 us during pause.
trash_cset_regions() is still used during final-UR pause.

Fix:

diff -r e2418ac6ab12 src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp        Mon Mar 30 13:31:43 2020 +0200
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp        Mon Mar 30 14:21:08 2020 +0200
@@ -1503,10 +1503,4 @@
     }

-    // Trash the collection set left over from previous cycle, if any.
-    {
-      ShenandoahGCPhase phase(ShenandoahPhaseTimings::trash_cset);
-      trash_cset_regions();
-    }
-
     {
       ShenandoahGCPhase phase(ShenandoahPhaseTimings::prepare_evac);
diff -r e2418ac6ab12 src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp
--- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp        Mon Mar 30 13:31:43 2020 +0200
+++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp        Mon Mar 30 14:21:08 2020 +0200
@@ -83,5 +83,4 @@
   f(retire_tlabs,                                   "  Retire TLABs")                  \
   f(sync_pinned,                                    "  Sync Pinned")                   \
-  f(trash_cset,                                     "  Trash CSet")                    \
   f(prepare_evac,                                   "  Prepare Evacuation")            \
   f(init_evac,                                      "  Initial Evacuation")            \

Testing: hotspot_gc_shenandoah

-- 
Thanks,
-Aleksey




More information about the hotspot-gc-dev mailing list