RFR: 8339112: Move JVM Klass flags out of AccessFlags [v2]
Dean Long
dlong at openjdk.org
Thu Aug 29 22:08: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/cpu/s390/c1_MacroAssembler_s390.cpp line 76:
> 74: load_klass(tmp, Roop);
> 75: z_lb(tmp, Address(tmp, Klass::misc_flags_offset()));
> 76: testbit(tmp, exact_log2(KlassFlags::_misc_is_value_based_class));
Suggestion:
z_tm(Klass::misc_flags_offset(), tmp, KlassFlags::_misc_is_value_based_class);
or
Suggestion:
z_tm(Address(tmp, Klass::misc_flags_offset()), KlassFlags::_misc_is_value_based_class);
src/hotspot/cpu/s390/c1_Runtime1_s390.cpp line 447:
> 445: __ load_klass(klass, Z_ARG1);
> 446: __ z_lb(klass, Address(klass, Klass::misc_flags_offset()));
> 447: __ testbit(klass, exact_log2(KlassFlags::_misc_has_finalizer));
Use z_tm. See above for example.
src/hotspot/cpu/s390/interp_masm_s390.cpp line 1011:
> 1009: load_klass(tmp, object);
> 1010: z_lb(tmp, Address(tmp, Klass::misc_flags_offset()));
> 1011: testbit(tmp, exact_log2(KlassFlags::_misc_is_value_based_class));
Use z_tm.
src/hotspot/cpu/s390/macroAssembler_s390.cpp line 3511:
> 3509: load_klass(temp, oop);
> 3510: z_lb(temp, Address(temp, Klass::misc_flags_offset()));
> 3511: testbit(temp, exact_log2(KlassFlags::_misc_is_value_based_class));
Use z_tm.
src/hotspot/cpu/s390/macroAssembler_s390.cpp line 6157:
> 6155: load_klass(tmp1, obj);
> 6156: z_lb(tmp1, Address(temp, Klass::misc_flags_offset()));
> 6157: testbit(tmp1, exact_log2(KlassFlags::_misc_is_value_based_class));
Use z_tm.
src/hotspot/cpu/s390/templateTable_s390.cpp line 2325:
> 2323: __ load_klass(Rklass, Rthis);
> 2324: __ z_lb(Rklass, Address(Rklass, Klass::misc_flags_offset()));
> 2325: __ testbit(Rklass, exact_log2(KlassFlags::_misc_has_finalizer));
Use z_tm.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20719#discussion_r1737266627
PR Review Comment: https://git.openjdk.org/jdk/pull/20719#discussion_r1737267281
PR Review Comment: https://git.openjdk.org/jdk/pull/20719#discussion_r1737268180
PR Review Comment: https://git.openjdk.org/jdk/pull/20719#discussion_r1737268350
PR Review Comment: https://git.openjdk.org/jdk/pull/20719#discussion_r1737269052
PR Review Comment: https://git.openjdk.org/jdk/pull/20719#discussion_r1737269173
More information about the serviceability-dev
mailing list