[lworld] RFR: 8363846: [lworld] Make Class.isIdentityClass() non-native
Coleen Phillimore
coleenp at openjdk.org
Wed Jul 23 11:48:02 UTC 2025
On Tue, 22 Jul 2025 23:43:33 GMT, Chen Liang <liach at openjdk.org> wrote:
>> This moves isIdentityClass() implementation to Class.java, and checks within the JVM that is_identity_class() doesn't check the access flags for an ArrayKlass, since AccessFlags aren't initialized in ArrayKlasses. The AccessFlags should be moved from Klass.hpp to InstanceKlass.cpp in mainline but that's a more complicated change and has several pieces.
>> Added a test.
>> Tested with tier1 locally.
>
> src/hotspot/share/oops/instanceKlass.cpp line 3594:
>
>> 3592: }
>> 3593:
>> 3594: void InstanceKlass::check_can_be_annotated_with_NullRestricted(InstanceKlass* type, Symbol* container_klass_name, TRAPS) {
>
> I am surprised we still have this remnant of implicit construction now we have strict fields - shouldn't we replace this with strictness checks?
This was part of another change, and we still need this to check if a field can be made an inline type.
-------------
PR Review Comment: https://git.openjdk.org/valhalla/pull/1514#discussion_r2225301191
More information about the valhalla-dev
mailing list