RFR: 8364187: Make getClassAccessFlagsRaw non-native
Coleen Phillimore
coleenp at openjdk.org
Tue Jul 29 12:02:14 UTC 2025
On Mon, 28 Jul 2025 21:56:16 GMT, Chen Liang <liach at openjdk.org> wrote:
>> This change removes the intrinsic for getClassAccessFlagsRaw for reflection and initializes an rawAccessFlags field in java.lang.Class instead, that Java code can non-natively access.
>> Tested with tier1-4.
>
> src/java.base/share/classes/java/lang/Class.java line 1012:
>
>> 1010: private transient Object[] signers; // Read by VM, mutable
>> 1011: private final transient char modifiers; // Set by the VM
>> 1012: private final transient char rawAccessFlags; // Set by the VM
>
> I suggest `classFileFlags` in the spirit of `getClassFileVersion` - this is the flag on the JVMS 4 `ClassFile` structure, while the `modifiers` can be alternatively from `InnerClasses` attribute.
This is a good suggestion but I made it Raw to match getRawClassAnnotations this name.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/26517#discussion_r2239571176
More information about the core-libs-dev
mailing list