RFR: 8356949: AArch64: Tighten up template interpreter method entry code
Chad Rakoczy
duke at openjdk.org
Tue May 20 21:37:01 UTC 2025
On Tue, 20 May 2025 08:15:51 GMT, Andrew Haley <aph at openjdk.org> wrote:
>> [JDK-8356949](https://bugs.openjdk.org/browse/JDK-8356949)
>>
>> This change is the aarch64 version of [JDK-8352415](https://bugs.openjdk.org/browse/JDK-8352415).
>>
>> To improve interpreter performance, which is important for faster startup, the method entry code was refactored to reuse some memory accesses and also spread them out to allow more latency-hiding hardware mechanisms to kick in.
>>
>> Additional testing:
>>
>> - [x] Ad-hoc -Xint benchmarks
>> - [x] Linux aarch64 server fastdebug, tier 1/2/3/4
>
> src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp line 870:
>
>> 868: // Save ConstMethod* in r5 for later use.
>> 869: __ ldr(r5, Address(rmethod, Method::const_offset()));
>> 870:
>
> This all looks basically good. It's better also to give the registers meaningful names such as `r5_ConstMethod`.
I can give `r5` a name but what do you think about `r10`? I feel like naming it something like `r10_ConstantPool` implies that is what it will always hold which isn't the case
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25312#discussion_r2098891299
More information about the hotspot-dev
mailing list