On Fri, 29 Jul 2022 18:12:22 GMT, Joe Darcy <[email protected]> wrote:
>> Please review this change to fix JDK-8291360. This fix adds entry points
>> getClassFileVersion() and getClassAccessFlagsRaw() to class java.lang.Class.
>> The new entry points return the current class's class file version and its
>> raw access flags.
>>
>> The fix was tested by running Mach5 tiers 1-2 on Linux, Mac OS, and Windows,
>> and Mach5 tiers 1-3 on Linux x64. Additionally, the JCK lang, vm, and api
>> tests and new regression tests were run locally on Linux x64.
>>
>> Thanks, Harold
>
> src/java.base/share/classes/java/lang/Class.java line 4700:
>
>> 4698: * returned. If the class is a primitive then ACC_ABSTRACT |
>> ACC_FINAL | ACC_PUBLIC.
>> 4699: */
>> 4700: private int getClassAccessFlagsRaw() {
>
> For a "raw" method, it might be better to return the flags on the array class
> object itself rather than loop down to the component type.
There's no bytecode stream for arrays. It's created using anewarray with a
dimension operand and a cp pointer to the component type. So there are no
flags for the array object.
-------------
PR: https://git.openjdk.org/jdk/pull/9688