Is option "ShenandoahAllocationThreshold" still experimental in OpenJDK15 ?

Zhengyu Gu zgu at redhat.com
Wed Sep 16 18:39:55 UTC 2020


Hi Frederic and Holger,

>>>
>>> More specifically, I use the following parameters: -XX:
>>> +UnlockExperimentalVMOptions -XX:+UseShenandoahGC
>>> -XX:ShenandoahGCHeuristics=compact
>>> -XX:ShenandoahAllocationThreshold=20
>>
>> Where did you find my options? :D
>>
>>> Starting with 15, I was under the impression I no longer needed to
>>> set +UnlockExperimentalVMOptions, to use the above options. Yet
>>> starting a JVM with without unlocking experimental options yields the
>>> following error: "Error: VM option 'ShenandoahAllocationThreshold' is
>>> experimental and must be enabled via
>>> -XX:+UnlockExperimentalVMOptions."
>>>
>>> If I simply omit "ShenandoahAllocationThreshold", then the JVM
>>> starts.
>>>

Although UseShenandoahGC is no longer an experimental option, 
ShenandoahAllocationThreshold remains, so you still need 
+UnlockExperimentalVMOptions for ShenandoahAllocationThreshold option.

It is the expected behavior.

Thanks,

-Zhengyu

>>> Is this the expected behaviour? If so, is there a list of Shenandoah-
>>> specific options that are still experimental somewhere?
>>
>> I don't think it's the expected behaviour (as of 15) and can confirm that
>> I get the same with the AdoptOpenJDK 15 binary that I'm currently 
>> testing,
>> so it's probably just an oversight/bug when parsing the arguments and
>> checking their status. AFAIK there is nothing experimental about the
>> ShenandoahAllocationThreshold flag itself or compact mode.
>>
>> cheers
>> Holger
> 
> Thanks, that's what I suspected as well.
> 
> Should I open an issue somewhere? Btw, are Shenandoah issues tracked in 
> the JBS? or somewhere else? Thanks.
> 
> -- Fred
> 
> 
> 



More information about the shenandoah-dev mailing list