RFR: 8357223: AArch64: Optimize interpreter profile updates
Aleksey Shipilev
shade at openjdk.org
Thu May 29 06:18: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
Looks fine, with a nit:
src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp line 950:
> 948: assert(DataLayout::counter_increment == 1,
> 949: "flow-free idiom only works with 1");
> 950:
This assert is unnecessary, IMO. x86 version removed it as well.
-------------
PR Review: https://git.openjdk.org/jdk/pull/25512#pullrequestreview-2877213152
PR Review Comment: https://git.openjdk.org/jdk/pull/25512#discussion_r2113285193
More information about the hotspot-compiler-dev
mailing list