RFR 8224952: RI deviates from JVMS - non-zero minor_version for class files throws UnsupportedClassVersionError.

Karen Kinnear karen.kinnear at oracle.com
Thu Jun 6 13:48:11 UTC 2019


Harold,

Looks good.

Many thanks,
Karen

> On Jun 6, 2019, at 9:02 AM, Harold Seigel <harold.seigel at oracle.com> wrote:
> 
> 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