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