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

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Fri Jun 7 14:05:46 UTC 2019


http://cr.openjdk.java.net/~hseigel/bug_8224952.2/webrev/src/hotspot/share/classfile/classFileParser.cpp.frames.html

4810 } else { // minor != JAVA_PREVIEW_MINOR_VERSION


I think you need a ResourceMark here.

Since you have a THREAD argument, ResourceMark is cheap, so I suggest 
putting just one at the beginning of the function so you don't have to 
worry about missing ones. I don't need another webrev for that.

Otherwise this looks good.

Thanks,
Coleen

On 6/6/19 9:02 AM, Harold Seigel 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