RFR 8130459(M): Add additional validation after heap creation

Eric Caspole eric.caspole at oracle.com
Wed Jul 15 13:49:24 UTC 2015

Hi Sangheon,

In commandLineFlagConstraintsGC.cpp, the error string uses 
"PLAB::min_size" and "PLAB::max_size" but I think those strings should 
be something that relates to command line options so it is more clear to 
the user what is wrong in terms of what was set on the command line.

I will try this patch with the test for 8078904, I think it fixes it.

On 07/15/2015 03:33 AM, sangheon.kim wrote:
> Hi all,
> Please review this change of adding additional validation on
> command-line flag checking framework.
> Recently we introduced Command-line flag checking framework (JDK-8059557
> <https://bugs.openjdk.java.net/browse/JDK-8059557>, JEP 245: Validate
> JVM Command-Line Flag Arguments ) for ranges and constraints.
> And most cases this works great.
> Unfortunately there are some flags which can be checked after heap
> creation and these flags are hard to be checked under current framework.
> In this regard, I suggest to have an additional constraint checking.
> This suggestion adds one more constraint checking stage after memory
> initialization.
> And if we need more validations we can extend it.
> There are 2 big changes.
> 1. Flag declaration.
> 'constraint(FUNC)' -> 'constraint(FUNC,TYPE)'
> This webrev has 3 types, Anytime, AfterParse and AfterMemoryInit.
> - Anytime: current constraint functions which don't use
> CommandLineFlags::finishedInitializing().
> - AfterParse: constraint functions which use
> CommandLineFlags::finishedInitializing().
> - AfterMemoryInit: I added only YoungPLABSize as an example.
>    * All GC related flags will be covered by JDK-8078555
> <https://bugs.openjdk.java.net/browse/JDK-8078555>: GC: implement ranges
> (optionally constraints) for those flags that have them missing.
> 2. Previous constraint functions have to use
> 'CommandLineFlags::finishedInitializing()' if the flag needs to be
> checked after Argument::parse().
> However, with this suggestion there's no need to call the function.
> Instead framework will decide when the constraint function is needed to
> be called.
> And previously constraint functions are called twice while this change
> will call each constraint function only one time.
> CR: https://bugs.openjdk.java.net/browse/JDK-8130459
> webrev: http://cr.openjdk.java.net/~sangheki/8130459/webrev.00/
> Testing: JPRT, UTE(vm.quick-pcl) and tests at test/runtime/CommandLine.
> Thanks,
> Sangheon

More information about the hotspot-dev mailing list