On Fri, 29 Jul 2022 18:12:22 GMT, Joe Darcy <da...@openjdk.org> 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

Reply via email to