RFR 8235513: Change JVM to check for preview features using JVM_CLASSFILE_MAJOR_VERSION
Harold Seigel
harold.seigel at oracle.com
Tue Dec 10 14:41:49 UTC 2019
Thanks David!
On 12/7/2019 1:21 AM, David Holmes wrote:
> Hi Harold,
>
> On 7/12/2019 7:12 am, Harold Seigel wrote:
>> Hi,
>>
>> Please review this small change to use JVM_CLASSFILE_MAJOR_VERSION
>> instead of 58 when checking that a class file using a preview feature
>> has the right major class file version.
>>
>> Open Webrev:
>> http://cr.openjdk.java.net/~hseigel/bug_8235513/webrev/index.html
>
> This looks good. I, for one, had not realized that preview features
> had to be "re-bound" to the current classfile version as long as they
> remain a preview feature - hence we always have to validate against
> the "current version".
>
> There was some concern that this code:
>
> 3707 } else if (_major_version >= JAVA_14_VERSION) {
> 3708 if (tag == vmSymbols::tag_record()) {
> 3709 // Skip over Record attribute if not supported or if
> super class is
> 3710 // not java.lang.Record.
> 3711 if (supports_records() &&
>
> will need to change in JDK 15, but I think the call to
> supports_records() will take care of that. Essentially the above
> states that JAVA_VERSION_14 is the first version that supported
> records as a preview feature, but supports_records() will ensure we're
> actually using a classfile of the "current version" when this code
> runs in 15.
Yes.
Thanks, Harold
>
> Thanks,
> David
>
>> JBS Bug:
>> http://cr.openjdk.java.net/~hseigel/bug_8235513/webrev/index.html
>>
>> The fix was regression tested by running Mach5 tiers 1 and 2 tests
>> and builds on Linux-x64, Solaris, Windows, and Mac OS X and JCK lang
>> and VM tests on Linux-x64. Additional testing of Mach5 tiers 3-5
>> tests on Linux-x64 is in progress.
>>
>> Thanks, Harold
>>
More information about the hotspot-runtime-dev
mailing list