RFR (XS) 8237223: Shenandoah: important flags should not be ergonomic for concurrent class unloading

Aleksey Shipilev shade at redhat.com
Wed Jan 15 19:50:57 UTC 2020


Bug:
  https://bugs.openjdk.java.net/browse/JDK-8237223

Fix:

diff -r 53b6aad22933 src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp
--- a/src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp  Wed Jan 15 20:04:51 2020 +0100
+++ b/src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp  Wed Jan 15 20:49:30 2020 +0100
@@ -34,10 +34,11 @@

 void ShenandoahNormalMode::initialize_flags() const {
+  if (ShenandoahConcurrentRoots::can_do_concurrent_class_unloading()) {
+    FLAG_SET_DEFAULT(ShenandoahSuspendibleWorkers, true);
+    FLAG_SET_DEFAULT(VerifyBeforeExit, false);
+  }
+
   SHENANDOAH_ERGO_ENABLE_FLAG(ExplicitGCInvokesConcurrent);
   SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahImplicitGCInvokesConcurrent);
-  if (ShenandoahConcurrentRoots::can_do_concurrent_class_unloading()) {
-    SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahSuspendibleWorkers);
-    SHENANDOAH_ERGO_DISABLE_FLAG(VerifyBeforeExit);
-  }

Testing: hotspot_gc_shenandoah

-- 
Thanks,
-Aleksey



More information about the hotspot-gc-dev mailing list