changeset 57680:d5c222f181b4

8237223: Shenandoah: important flags should not be ergonomic for concurrent class unloading Reviewed-by: zgu
author shade
date Wed, 15 Jan 2020 21:38:12 +0100
parents 06331540be15
children ef7d53b4fccd
files src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp
diffstat 1 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp	Wed Jan 15 15:24:54 2020 -0500
+++ b/src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp	Wed Jan 15 21:38:12 2020 +0100
@@ -33,12 +33,13 @@
 #include "logging/logTag.hpp"
 
 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);
-  }
 
   // Final configuration checks
   SHENANDOAH_CHECK_FLAG_SET(ShenandoahLoadRefBarrier);