8237223: Shenandoah: important flags should not be ergonomic for concurrent class unloading

Reviewed-by: zgu
This commit is contained in:
Aleksey Shipilev 2020-01-15 21:38:12 +01:00
parent ec5869eb2e
commit abfab9e0a7

View File

@ -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);