On Tue, 18 Aug 2026 10:03:22 GMT, Andrew Dinn <[email protected]> wrote:

>> src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp line 5150:
>> 
>>> 5148:     __ ldp(a22, a23, Address(state0, 176));
>>> 5149:     __ ldr(a24, Address(state0, 192));
>>> 5150: 
>> 
>> This seems to be cut-and-pasted from elsewhere. Please refactor it into a 
>> subroutine, and use that everywhere.
>
> Ok, yes, this has probably grown enough to merit a refactor. But do we want 
> another subroutine with > 25 arguments? (we already have that with 
> `keccak_round_gpr`).
> 
> Perhaps a cleaner way to do this would be to manage the register set a0-a24 
> here and in the other client of `keccak_round_gpr` using an array:
> 
> Register[25] a = {
>     r25, r26, r27, r3, r4,
>     . . .
>     r20, r21, r22, r23, r24,
> };
> 
> 
> That allows us to use `a[0]`, `a[1]` etc to access what is now written as 
> `a0`, `a1` etc. It also means the subroutines only take one `Register[25]` 
> argument in place of 25 `Register` arguments and can rely on indexing and 
> looping.

Thank you for noticing this pattern.  Done!

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

PR Review Comment: https://git.openjdk.org/jdk/pull/32049#discussion_r3810369650

Reply via email to