RFR (S): 8112746 Followup to JEP 245: Validate JVM Command-Line Flag Arguments
gerard.ziemski at oracle.com
Thu Jun 25 17:54:11 UTC 2015
Please review this followup to my recent JEP 245 checkin. It addresses the issues raised by Coleen, Dmitry and Kim during webrev.
You can seehttps://bugs.openjdk.java.net/browse/JDK-8112746 for details, but the most important change here is that we only check constraint if the range check passes first.
To quickly recap: I changed that part of the code when David pointed out that I had to modify 2 tests in a way that looked like a regression - I removed some test cases. However, Kim, later pointed out that the original code had the advantage of having constraints guaranteed that the flag values were within ranges.
I checked in the code with ranges and constraints being checked both regardless of each other, but this followup restores the original behavior (and simplifies the code), where we first check ranges and only check constraints if range passes.
The 2 tests (ObjectAlignment.java and Options.java) seem to loose some test cases, but those paths are still tested (though with different values), so we in fact do not loose anything from test coverage point of view.
The change passes JPRT (hotspot) and RBT (vm.quick.testlist)
src/share/vm/gc/g1/g1_globals.hpp | 4 +-
src/share/vm/runtime/commandLineFlagConstraintsCompiler.cpp | 2 +-
src/share/vm/runtime/commandLineFlagConstraintsGC.cpp | 55 ++--
src/share/vm/runtime/commandLineFlagRangeList.cpp | 58 ++---
src/share/vm/runtime/globals.cpp | 129 ++++++-----
src/share/vm/runtime/globals.hpp | 17 +-
test/runtime/CompressedOops/ObjectAlignment.java | 3 +-
test/runtime/contended/Options.java | 2 -
8 files changed, 129 insertions(+), 141 deletions(-)
More information about the hotspot-dev