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
flags.
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
Thanks,
Sangheon
More information about the hotspot-dev
mailing list