RFR: JDK-8086056: ParNew: auto-tune ParGCCardsPerStrideChunk
gerard.ziemski at oracle.com
Fri Jun 26 14:26:48 UTC 2015
On 6/26/2015 8:30 AM, Tony Printezis wrote:
> The JEP says:
> "The range and constraints checks are done every time a flag changes,
> as well as late in the JVM initialization routine (i.e., in
> init_globals() after stubRoutines_init2()) at the time when all flags
> have their final values set. We will continue to check the manageable
> flags as long as the JVM runs."
> I haven't actively been using this myself, but I assume that the
> constraints will be checked every time a managaeble flag is changed
> and that the one trying to change it will get an error reported back
> if they try to change it in an invalid way.
The JEP required that in the case of manageable flags, when an attempt
is made to change value of a flag from outside the Java process, that an
error message be printed in the outside process and the value be left
If the Java process itself tries to make such change, however, then the
error message is printed in the process itself and the VM exits.
There is a window of time, however, during the initialization process,
when flags are being still set, so during that time the range/constraint
check is disabled, but changes after Arguments::apply_ergo() are fatal
to the VM if check fails.
More information about the hotspot-gc-dev