RFR: 8288047: Accelerate Poly1305 on x86_64 using AVX512 instructions [v16]

Vladimir Ivanov vlivanov at openjdk.org
Tue Nov 15 23:57:00 UTC 2022


On Tue, 15 Nov 2022 19:38:26 GMT, Volodymyr Paprotski <duke at openjdk.org> wrote:

>> Ah, got it. Worth elaborating that in the comments. Otherwise, they confuse rather than help:
>> 
>>   // void processBlocks(byte[] input, int len, int[5] a, int[5] r)
>>   const Register input        = rdi; //input+offset
>>   const Register length       = rbx;
>>   const Register accumulator  = rcx;
>>   const Register R            = r8;
>
> Added a comment, hopefully less confusing.

On a second thought, passing derived pointers as arguments doesn't mix well with safepoint awareness.
(And this stub eventually has to become safepoint aware.)
Deriving a pointer inside the stub from a base oop and offset is trivial, recovering base oop from derived pointer is hard. 

It doesn't mean we have to address it right now.

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

PR: https://git.openjdk.org/jdk/pull/10582



More information about the security-dev mailing list