RFR: 8331126: [s390x] secondary_super_cache does not scale well [v6]
Amit Kumar
amitkumar at openjdk.org
Sun Jun 30 15:50:19 UTC 2024
On Sun, 30 Jun 2024 09:49:35 GMT, Andrew Haley <aph at openjdk.org> wrote:
>> Amit Kumar has updated the pull request incrementally with one additional commit since the last revision:
>>
>> add2reg -> z_la
>
> src/hotspot/cpu/s390/macroAssembler_s390.cpp line 3327:
>
>> 3325: z_bre(L_huge);
>> 3326:
>> 3327: // NOTE: please load 0 only in r_result, as this is also being used for z_locgr down
>
> Can you please explain what his comment means?
Is this old comment ? Code seems outdated.
This is moved inside ASSERT now:
z_cghi(r_result, 0);
asm_assert(bcondEqual, "r_result required to be 0, used by z_locgr", 44);
This is used by the `z_locgr` in the below loop.
NearLabel L_loop;
bind(L_loop);
// Check for wraparound.
z_cgr(r_array_index, r_array_length);
z_locgr(r_array_index, r_result, bcondHigh); // r_result is containing 0
z_cg(r_super_klass, Address(r_array_base, r_array_index));
z_bre(L_done); // success
// look-ahead check (Bit 2), if bit-2 is also 0, we're done
testbit(r_bitmap, 2);
z_bfalse(L_failure);
z_rllg(r_bitmap, r_bitmap, 64-1); // rotate right
add2reg(r_array_index, BytesPerWord);
z_bru(L_loop);
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19544#discussion_r1660205202
More information about the hotspot-dev
mailing list