Is option "ShenandoahAllocationThreshold" still experimental in OpenJDK15 ?

Holger Hoffstätte holger at applied-asynchrony.com
Wed Sep 16 16:36:25 UTC 2020


On 2020-09-16 18:13, thevenet.fred at free.fr wrote:
> I've been using ShenandoahGC since the release of OpenJDK 13 (as
> provided by Azul[1]) to benefit from its "
> ShenandoahGCHeuristics=compact" option which is a good fit for my
> need (a generally small, non critical, client application with
> transient needs for a larger heap).
> 
> 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.
> 
> 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


More information about the shenandoah-dev mailing list