RFR: 8355216: Accelerate P-256 arithmetic on aarch64 [v8]

Andrew Haley aph at openjdk.org
Thu Feb 26 09:26:44 UTC 2026


On Wed, 25 Feb 2026 20:05:02 GMT, Ben Perez <bperez at openjdk.org> wrote:

>> Note that in a few places I've had to push back dead registers so that they can be reused. This is necessary because the live ranges for some registers partailly overlap.
>> 
>> It's much better if you don't do that: instead, write a structured assembly-language program in which registers are allocated in scopes as needed, as I've done in the section which begins like this:
>> 
>> 
>>     // Load input arrays and modulus
>>     {
>>       auto r = regs.begin();
>>       Register a_ptr = *r++, mod_ptr = *r++;
>> 
>> 
>> here, the register that contain`a_ptr` and `mod_ptr` are taken from the outer block, and are free for reuse when the inner block exits.
>> 
>> I hope the advantages of this style are clear: the program is easier to write, to maintain, and much less risky. Also, and most importantly for me, it's much easier to review!
>
> Thanks for taking the time to write all this out! Will do a refactor and integrate these changes shortly

Don't be inhibited from changing what I wrote, if it makes sense to do so.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27946#discussion_r2857913821



More information about the security-dev mailing list