RFR 8130459(M): Add additional validation after heap creation
sangheon.kim at oracle.com
Wed Jul 15 07:33:36 UTC 2015
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
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
- AfterParse: constraint functions which use
- 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
And previously constraint functions are called twice while this change
will call each constraint function only one time.
Testing: JPRT, UTE(vm.quick-pcl) and tests at test/runtime/CommandLine.
More information about the hotspot-dev