RFR 8224952: RI deviates from JVMS - non-zero minor_version for class files throws UnsupportedClassVersionError.
Harold Seigel
harold.seigel at oracle.com
Thu Jun 6 13:02:37 UTC 2019
Hi,
Please review this second attempt to fix the JVM's handling of class
file versions to match what is in the latest JVM Spec
<https://docs.oracle.com/javase/specs/jvms/se12/html/jvms-4.html#jvms-4.1>.
With this change, only the following class file major and minor version
combinations are allowed:
* 45 <= major_version < 56, and any minor version
* 56 <= major_version <= latest major version and minor version of 0
* Major_version = latest_major_version and minor_version = 65535 and
option --enable-preview is specified
Note that 56 is the class file version for JDK-12.
The change also contains a small fix for -Xlog:class+preview. This fix
was tested by hand.
Open Webrev:
http://cr.openjdk.java.net/~hseigel/bug_8224952.2/webrev/index.html
JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8224952
The fix was regression tested by running Mach5 tiers 1 and 2 tests and
builds on Linux-x64, Solaris, Windows, and Mac OS X, by running Mach5
tiers 3-5 tests on Linux-x64, and JCK lang and VM tests on Linux-x64.
Thanks, Harold
More information about the hotspot-runtime-dev
mailing list