RFR: 8331341: secondary_super_cache does not scale well: C1 and interpreter [v23]
Dean Long
dlong at openjdk.org
Thu Oct 10 00:06:22 UTC 2024
On Wed, 9 Oct 2024 23:49:17 GMT, Dean Long <dlong at openjdk.org> wrote:
>> src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 1820:
>>
>>> 1818: // mov(r_array_index, (u1)(Klass::SECONDARY_SUPERS_TABLE_SIZE - 1));
>>> 1819: // sub(slot, r_array_index, slot);
>>> 1820: eor(slot, slot, (u1)(Klass::SECONDARY_SUPERS_TABLE_SIZE - 1));
>>
>> Should we assert SECONDARY_SUPERS_TABLE_SIZE is a power of 2 here?
>
> If we used temp2 to store (Klass::SECONDARY_SUPERS_TABLE_SIZE - 1 - slot), then I think we could avoid the XOR at line 1863.
Or even better, can't we rotate right and then TBZ on bit 0?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19989#discussion_r1794406475
More information about the hotspot-dev
mailing list