RFR 8078555(M): GC: implement ranges (optionally constraints) for those flags that have them missing

sangheon.kim sangheon.kim at oracle.com
Wed Aug 19 04:25:42 UTC 2015

Hi all,

Please review this patch for command-line validation for GC flags.
This includes adding ranges and implementing constraint functions for GC 

Here are several things to note.
1. Exponential notation for 'double' type variable parse: Previously 
there were some discussion for maximum value for double type flags from 
code review of JDK-8059557 and JDK-8112746. And Kim and I decided not to 
add upper limit unless there are problems with DBL_MAX. And as 255 is 
the maximum length that can be passed via command-line, we introduced 
exponential notation to avoid this limit. ( arguments.cpp )
2. These GC flags ranges are not ideal ranges but ranges which don't 
make problem with current source code.
     If one flag makes some problem but hard to find good range, I added 
some ranges.
3. There are some constraint functions to avoid overflow.
4. Test applications are changed: as some of them assumed to be 
ParallelGC or to check it's output messages.
5. Includes cleanup of JDK-8133565: GC -2nd followup to JDK-8059557.

CR: https://bugs.openjdk.java.net/browse/JDK-8078555
Webrev: http://cr.openjdk.java.net/~sangheki/8078555/webrev.00/
Testing: JPRT, UTE(vm.quick-pcl), tests at test/runtime/CommandLine and 
local tests[1].

[1]: Running GCOld for non bool GC flags with its variable type's 
min/max/median. Needed real GCs to verify whether flags are making 
problems or not.
(e.g. java -XX:YoungPLABSize={min_uintx, max_uintx, max_uintx/2} GCOld 
10 200 100 20 5000


More information about the hotspot-dev mailing list