From abfab9e0a7e14172ae93d3543e3706ca4a40834b Mon Sep 17 00:00:00 2001 From: Aleksey Shipilev Date: Wed, 15 Jan 2020 21:38:12 +0100 Subject: [PATCH] 8237223: Shenandoah: important flags should not be ergonomic for concurrent class unloading Reviewed-by: zgu --- src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp b/src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp index e8ef9c7c1a4..bbe038eb167 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp @@ -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);