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

Volodymyr Paprotski duke at openjdk.org
Thu Nov 10 22:48:38 UTC 2022


On Thu, 10 Nov 2022 22:03:24 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:

>> Volodymyr Paprotski has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   fix windows and 32b linux builds
>
> src/hotspot/share/opto/library_call.cpp line 6981:
> 
>> 6979: 
>> 6980:   if (!stubAddr) return false;
>> 6981:   Node* polyObj = argument(0);
> 
> Minor cleanup: This could be removed as it is not used.

done

> src/java.base/share/classes/com/sun/crypto/provider/Poly1305.java line 28:
> 
>> 26: package com.sun.crypto.provider;
>> 27: 
>> 28: import java.lang.reflect.Field;
> 
> Minor cleanup: This could be removed.

done

> src/java.base/share/classes/com/sun/crypto/provider/Poly1305.java line 249:
> 
>> 247:     @ForceInline
>> 248:     @IntrinsicCandidate
>> 249:     private void processMultipleBlocks(byte[] input, int offset, int length, long[] aLimbs, long[] rLimbs) {
> 
> A comment here to indicate aLimbs and rLimbs are part of a and r and used in intrinsic.

done

> src/java.base/share/classes/com/sun/crypto/provider/Poly1305.java line 253:
> 
>> 251:             n.setValue(input, offset, BLOCK_LENGTH, (byte)0x01);
>> 252:             a.setSum(n);                    // A += (temp | 0x01)
>> 253:             a.setProduct(r);                // A =  (A * R) % p
> 
> Comment needs update to match code.

done

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

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


More information about the security-dev mailing list