RFR: ResolvedMethodTable should be cleaned up with concurrent cycles

Aleksey Shipilev shade at redhat.com
Fri Nov 2 17:06:24 UTC 2018


We have been bitten by RMT cleanup move from parallel cleaning. See G1-specific explanation here, it
applies to Shenandoah as well:
  https://bugs.openjdk.java.net/browse/JDK-8213307


diff -r d49c976b2a2a -r c5e37fae7723 src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp        Thu Nov 01 18:41:22 2018 +0100
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp        Fri Nov 02 17:52:24 2018 +0100
@@ -1920,8 +1920,7 @@
     ShenandoahGCPhase phase(full_gc ?
                             ShenandoahPhaseTimings::full_gc_purge_class_unload :
                             ShenandoahPhaseTimings::purge_class_unload);
-    purged_class = SystemDictionary::do_unloading(gc_timer(),
-                                                  full_gc /* do_cleaning*/ );
+    purged_class = SystemDictionary::do_unloading(gc_timer());
   }

   {


Testing: tier3_gc_shenandoah, hacked up runtime/MemberName/MemberNameLeak

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list