RFR: 8372098: Move AccessFlags to InstanceKlass

Chen Liang liach at openjdk.org
Tue Nov 18 20:05:14 UTC 2025


On Tue, 18 Nov 2025 18:50:55 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> src/hotspot/share/classfile/classFileParser.cpp line 815:
>> 
>>> 813:         interface_index, CHECK);
>>> 814:       if (cp->tag_at(interface_index).is_klass()) {
>>> 815:         interf = InstanceKlass::cast(cp->resolved_klass_at(interface_index));
>> 
>> Note that a resolved `CONSTANT_Class` can refer to an array type, so this cast is incorrect.
>
> There are a bunch of tests that we don't have. This would be an error since Interfaces are never arrays, but that's checked later.  I'll revert some of these casts (as well as try to write a test for this).

I thought the cast at line 839 would have handled this. Turns out it has a `!interf->is_interface()` check before so this cast is problematic.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/28371#discussion_r2539538759


More information about the graal-dev mailing list