RFR: 8345678: compute_modifiers should not be in create_mirror

David Holmes dholmes at openjdk.org
Mon Dec 9 04:31:38 UTC 2024


On Fri, 6 Dec 2024 22:00:14 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

> This moves the modifier_flag computation to when InstanceKlass, ObjArrayKlass and TypeArrayKlass are created.
> 
> Tested with jck:vm and tier1-4.

This seems reasonable, but I wonder if we can simplify things further for arrays - see below.

Future RFE: I also think we need to cleanup terminology i.e. "modifier flags" versus "access flags".

Thanks

src/hotspot/share/classfile/javaClasses.cpp line 1119:

> 1117:   // to support Class.getModifiers().  Instance classes recalculate
> 1118:   // the cached flags after the class file is parsed, but before the
> 1119:   // class is put into the system dictionary.

Is this comment already out-of-date? I'm trying to see where the flags are recomputed after parsing.

src/hotspot/share/oops/typeArrayKlass.hpp line 76:

> 74:   void  copy_array(arrayOop s, int src_pos, arrayOop d, int dst_pos, int length, TRAPS);
> 75: 
> 76:   // jvm support

"jvm support" for what? I'm not even sure why we need `compute_modifier_flags` for array types when they have a fixed value. Can't we just hardwire them and only call `compute_modifier_flags` for instanceKlasses?

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

PR Review: https://git.openjdk.org/jdk/pull/22618#pullrequestreview-2487697138
PR Review Comment: https://git.openjdk.org/jdk/pull/22618#discussion_r1875323314
PR Review Comment: https://git.openjdk.org/jdk/pull/22618#discussion_r1875322865


More information about the serviceability-dev mailing list