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