< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp

Print this page

        

@@ -19,10 +19,11 @@
  * questions.
  *
  */
 
 #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"
 #include "gc/shenandoah/heuristics/shenandoahCompactHeuristics.hpp"
 #include "gc/shenandoah/heuristics/shenandoahStaticHeuristics.hpp"

@@ -30,10 +31,13 @@
 #include "logging/logTag.hpp"
 
 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);
   SHENANDOAH_CHECK_FLAG_SET(ShenandoahSATBBarrier);
   SHENANDOAH_CHECK_FLAG_SET(ShenandoahKeepAliveBarrier);
< prev index next >