RFR: 8339112: Move JVM Klass flags out of AccessFlags [v2]

Dean Long dlong at openjdk.org
Thu Aug 29 22:49:24 UTC 2024


On Thu, 29 Aug 2024 18:50:42 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> Move JVM implementation access flags that are not specified by the classfile format into Klass so we can shrink AccessFlags to u2 in a future change.
>> 
>> Tested with tier1-7.
>> 
>> NOTE: there are arm, ppc and s390 changes to this that are just a guess.  Also, graal changes.
>
> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Add in graal flags and a comment.

src/hotspot/share/classfile/classFileParser.cpp line 5176:

> 5174:   ik->set_declares_nonstatic_concrete_methods(_declares_nonstatic_concrete_methods);
> 5175: 
> 5176:   assert(!_is_hidden || ik->is_hidden(), "must be set already");

Is this an optimization independent of the current change?

src/hotspot/share/opto/library_call.cpp line 3774:

> 3772: 
> 3773: // Use this for testing if Klass is_hidden, has_finalizer, and is_cloneable_fast.
> 3774: Node* LibraryCallKit::generate_misc_flags_guard(Node* kls, int modifier_mask, int modifier_bits, RegionNode* region) {

It looks like we could refactor generate_misc_flags_guard and generate_access_flags_guard with a common generate_klass_accessor_guard that takes the offset and type as parameters.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20719#discussion_r1737314136
PR Review Comment: https://git.openjdk.org/jdk/pull/20719#discussion_r1737318524


More information about the serviceability-dev mailing list