RFR (XS) 8237223: Shenandoah: important flags should not be ergonomic for concurrent class unloading

Zhengyu Gu zgu at redhat.com
Wed Jan 15 20:03:44 UTC 2020


Ah, okay. Looks good to me.

Thanks,

-Zhengyu

On 1/15/20 2:50 PM, Aleksey Shipilev wrote:
> Bug:
>    https://bugs.openjdk.java.net/browse/JDK-8237223
> 
> Fix:
> 
> diff -r 53b6aad22933 src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp
> --- a/src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp  Wed Jan 15 20:04:51 2020 +0100
> +++ b/src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp  Wed Jan 15 20:49:30 2020 +0100
> @@ -34,10 +34,11 @@
> 
>   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);
> -  }
> 
> Testing: hotspot_gc_shenandoah
> 



More information about the hotspot-gc-dev mailing list