RFR (S): JDK-8129855: -XX:+IgnoreUnrecognizedVMOptions hides out of range VM options. (original) (raw)

Dmitry Dmitriev dmitry.dmitriev at oracle.com
Fri Oct 23 12:47:15 UTC 2015


Hi Gerard,

Rev2 looks good to me!

Regards, Dmitry

On 22.10.2015 20:34, gerard ziemski wrote:

Thank you Dan!

I fixed the comments and filed https://bugs.openjdk.java.net/browse/JDK-8140359 as a follow-up to address getlockedmessageext()

cheers On 10/22/2015 12:04 PM, Daniel D. Daugherty wrote: On 10/22/15, 10:26 AM, gerard ziemski wrote: hi all,

Here is a rev2 updated with fixes based mainly on Dan's feedback. It has 3 changes compared to rev1: #1 Fixed IgnoreUnrecognizedVMOptions.java test cases by correctly setting the flags [Dan Daugherty] #2 Added another set of test cases, and rearranged them to keep types together. #3 Fixed test/compiler/membars/DekkerTest since now that the IgnoreUnrecognizedVMOptions works differently we have to re-arrange the flags to make CICompilerCount=1 a valid value.

http://cr.openjdk.java.net/~gziemski/8129855rev2 src/share/vm/runtime/arguments.cpp No comments. src/share/vm/runtime/globals.cpp L336: getlockedmessageext(buf, buflen); L337: return Flag::NONE; It still feels strange to not get a return value from getlockedmessageext() and always return Flag::NONE in this case. If not addressed here, it would be good to file a follow up bug that clarify how the extension mechanism fits in with the base mechanism. src/share/vm/runtime/globals.hpp No comments. test/compiler/membars/DekkerTest.java Perfect example of why left-to-right order eval means something. No other comments. test/runtime/CommandLine/IgnoreUnrecognizedVMOptions.java L90: #1.4 develop & notproduct flag on product VM: L91: develop & !productbuild notproduct & !productbuild L96: if (product) { The comment doesn't match the test code. This is not a !productbuild config. L119: #1.6 malformed develop & notproduct flag on product VM: L120: develop & !productbuild .notproduct & !productbuild L125: if (product) { The comment doesn't match the test code. This is not a !productbuild config. Also L120 has '.notproduct' should be 'notproduct'. Thumbs up. If you fix the above comment mis-matches, I don't need to see another webrev. Dan

cheers On 09/28/2015 04:55 PM, gerard ziemski wrote: hi all, We are fixing how IgnoreUnrecognizedVMOptions treats those flags whose values are out of range. Before the fix, the VM would continue even if flag’s value was out of range, ex: javaold -XX:+IgnoreUnrecognizedVMOptions -XX:MinTLABSize=0 -version sizet MinTLABSize=0 is outside the allowed range [ 1 ... 4294967295 ] java version "1.9.0-internal-fastdebug" Java(TM) SE Runtime Environment (build 1.9.0-internal-fastdebug-20150624183527.jesper.main2rt-b00) Java HotSpot(TM) Server VM (build 1.9.0-internal-fastdebug-20150624183527.jesper.main2rt-b00, mixed mode) now, we correctly exit the VM with an error, ex: javanew -XX:+IgnoreUnrecognizedVMOptions -XX:MinTLABSize=0 -version sizet MinTLABSize=0 is outside the allowed range [ 1 ... 18446744073709551615 ] Improperly specified VM option 'MinTLABSize=0' Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. In addition IgnoreUnrecognizedVMOptions nows strictly follows the spec as outlined in JDK-8129855. The behavior changes depending on whether the build is product or debug. We also introduce a new test that verifies all known use cases that we care about. References: bugid: https://bugs.openjdk.java.net/browse/JDK-8129855 webrev: http://cr.openjdk.java.net/~gziemski/8129855rev0 discussion: http://mail.openjdk.java.net/pipermail/hotspot-dev/2015-June/019213.html Passes "JPRT hotspot" and "RBT testlist,noncolo.testlist quick" cheers



More information about the hotspot-dev mailing list