On Thu, 29 Aug 2024 16:22:22 GMT, Gilles Duboscq <g...@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. > > src/hotspot/share/jvmci/vmStructs_jvmci.cpp line 484: > >> 482: declare_constant(JVMCINMethodData::SPECULATION_LENGTH_BITS) >> \ >> 483: >> \ >> 484: declare_constant(JVM_ACC_WRITTEN_FLAGS) >> \ > > `JVM_ACC_IS_HIDDEN_CLASS` and `JVM_ACC_IS_VALUE_BASED_CLASS` are actually > used in the compiler (see > [here](https://github.com/search?q=repo%3Aoracle%2Fgraal+path%3Acompiler+JVM_ACC_IS_HIDDEN_CLASS&type=code) > and > [there](https://github.com/search?q=repo%3Aoracle%2Fgraal+path%3Acompiler+JVM_ACC_IS_VALUE_BASED_CLASS&type=code)) > so i think `KlassFlags::_misc_is_hidden_class` and > `KlassFlags::_misc_is_value_based_class` also need to be exposed below along > the other 2 bits. Yes, please add these two symbols as well diff --git a/src/hotspot/share/jvmci/vmStructs_jvmci.cpp b/src/hotspot/share/jvmci/vmStructs_jvmci.cpp index f0af57f9513..9d65268f0fe 100644 --- a/src/hotspot/share/jvmci/vmStructs_jvmci.cpp +++ b/src/hotspot/share/jvmci/vmStructs_jvmci.cpp @@ -727,6 +727,8 @@ \ declare_constant(InstanceKlassFlags::_misc_has_nonstatic_concrete_methods) \ declare_constant(InstanceKlassFlags::_misc_declares_nonstatic_concrete_methods) \ + declare_constant(KlassFlags::_misc_is_hidden_class) \ + declare_constant(KlassFlags::_misc_is_value_based_class) \ declare_constant(KlassFlags::_misc_has_finalizer) \ declare_constant(KlassFlags::_misc_is_cloneable_fast) \ \ ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/20719#discussion_r1736649959