--- a/src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp Wed Nov 27 06:36:41 2019 -0800
+++ b/src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp Wed Nov 27 11:52:57 2019 -0500
@@ -21,6 +21,7 @@
*/
#include "precompiled.hpp"
+#include "gc/shenandoah/shenandoahConcurrentRoots.hpp"
#include "gc/shenandoah/shenandoahNormalMode.hpp"
#include "gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp"
#include "gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.hpp"
@@ -32,6 +33,9 @@
void ShenandoahNormalMode::initialize_flags() const {
SHENANDOAH_ERGO_ENABLE_FLAG(ExplicitGCInvokesConcurrent);
SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahImplicitGCInvokesConcurrent);
+ if (ShenandoahConcurrentRoots::can_do_concurrent_class_unloading()) {
+ SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahSuspendibleWorkers);
+ }
// Final configuration checks
SHENANDOAH_CHECK_FLAG_SET(ShenandoahLoadRefBarrier);