RFR: 8352075: Perf regression accessing fields [v23]

Radim Vansa rvansa at openjdk.org
Mon Jun 9 06:55:00 UTC 2025


On Fri, 6 Jun 2025 19:04:40 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> Radim Vansa has updated the pull request incrementally with two additional commits since the last revision:
>> 
>>  - Add more comments
>>  - Disable search table with dynamic CDS
>
> src/hotspot/share/utilities/packedTable.cpp line 49:
> 
>> 47:     assert((key & ~_key_mask) == 0, "key out of bounds");
>> 48:     assert((value & ~_value_mask) == 0, "value out of bounds: %x vs. %x (%x)", value, _value_mask, ~_value_mask);
>> 49:     *reinterpret_cast<uint64_t*>(data + offset) = static_cast<uint64_t>(key) | (static_cast<uint64_t>(value) << _value_shift);
> 
> How does this line not get a signal for unaligned write?

>From what I could find, strict alignment checking must be explicitly enabled an aarch64. x86_64 does not require alignment either. In both cases, there might be a performance penalty.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/24847#discussion_r2135145604


More information about the hotspot-dev mailing list