[lworld] RFR: 8281279: [lworld] Add JVM support for ACC_PERMITS_VALUE [v3]
Frederic Parain
fparain at openjdk.java.net
Mon Feb 7 18:05:14 UTC 2022
On Mon, 7 Feb 2022 15:15:13 GMT, Harold Seigel <hseigel at openjdk.org> wrote:
>> Please review this fix to add JVM support for ACC_PERMITS_VALUE. This change throws an ICCE exception when loading a value class whose super class is not java.lang.Object or does not have ACC_PERMITS_VALUE set. The fix was tested with Mach5 tiers 1-2 on Linux, Mac OS, and Windows and Mach5 tiers 3-5 on Linux x64.
>>
>> Thanks, Harold
>
> Harold Seigel has updated the pull request incrementally with one additional commit since the last revision:
>
> Update test TestResolvedJavaType.java
src/hotspot/share/classfile/classFileParser.cpp line 4596:
> 4594: return;
> 4595: }
> 4596:
This is not the behavior written in the JVMS draft for value classes, which requires the direct super class of a value class to have the ACC_PERMITS _VALUE flag set. However, because we haven't changed java.lang.Object into an abstract class, java.lang.Object cannot have the ACC_PERMITS _VALUE flag set. Currently, I see no other solution than the one you have implemented, adding a special case when the direct super class is java.lang.Object. But it would be useful to add a comment in the source code and the CR to remember and track this discrepancy.
-------------
PR: https://git.openjdk.java.net/valhalla/pull/632
More information about the valhalla-dev
mailing list