RFR: 8357223: AArch64: Optimize interpreter profile updates
Andrew Haley
aph at openjdk.org
Thu May 29 09:24:51 UTC 2025
On Wed, 28 May 2025 20:21:20 GMT, Chad Rakoczy <duke at openjdk.org> wrote:
> [JDK-8357223](https://bugs.openjdk.org/browse/JDK-8357223)
>
> The aarch64 version of [JDK-8356946](https://bugs.openjdk.org/browse/JDK-8356946)
>
> The reasoning for this change is the same as the x86 version's PR:
>
>> First, we carry the implementation for counter decrements without using them. This is dead code, and can be purged.
>>
>> Second, we care about overflows for 64-bit for some reason. I think this is a reminiscent of 32-bit x86 support, where we can plausibly have 32-bit counter overflow in a reasonable timeframe. But for 64-bit counter, we need tens of years of constantly bashing the counter to get it to overflow. No other profile counter update code, e.g. in C1, cares about this.
>
> Additional testing:
>
> - [x] Linux aarch64 fastdebug tier 1/2/3/4
src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp line 953:
> 951: ldr(rscratch1, addr);
> 952: add(rscratch1, rscratch1, DataLayout::counter_increment);
> 953: str(rscratch1, addr);
Suggestion:
increment(addr, DataLayout::counter_increment);
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25512#discussion_r2113563809
More information about the hotspot-compiler-dev
mailing list