RFR: 8339112: Move JVM Klass flags out of AccessFlags [v2]
Coleen Phillimore
coleenp at openjdk.org
Thu Aug 29 18:50:42 UTC 2024
On Thu, 29 Aug 2024 16:28:29 GMT, Yudi Zheng <yzheng at openjdk.org> wrote:
>> 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) \
> \
Ok, I added these flags in like this. I didn't see them in the jdk code. We'll have to coordinate the graal code and this change. Also these flags are in misc_flags_offset() now.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20719#discussion_r1736922958
More information about the serviceability-dev
mailing list