RFR: 8278757: [s390] Implement AES Counter Mode Intrinsic [v8]

Martin Doerr mdoerr at openjdk.java.net
Mon Apr 25 13:06:26 UTC 2022


On Mon, 25 Apr 2022 08:05:06 GMT, Lutz Schmidt <lucy at openjdk.org> wrote:

>> Please review (and approve, if possible) this pull request.
>> 
>> This is a s390-only enhancement. It introduces the implementation of an AES-CTR intrinsic, making use of the specific s390 instruction for AES counter-mode encryption.
>> 
>> Testing: SAP does no longer maintain a full build and test environment for s390. Testing is therefore limited to running some test suites (SPECjbb*, SPECjvm*) manually. But: identical code is contained in SAP's commercial product and thoroughly tested in that context. No issues were uncovered.
>> 
>> @backwaterred Could you please conduct some "official" testing for this PR? 
>> 
>> Thank you all!
>> 
>> Note: some performance figures can be found in the JBS ticket.
>
> Lutz Schmidt has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8278757: more helpful block comments and code cleanup

Thanks for improving it! Looks basically good to me. Awaiting tests.

src/hotspot/cpu/s390/stubGenerator_s390.cpp line 2011:

> 2009:     __ z_alcg(scratch, Address(counter, offset));          // add carry to high-order DW
> 2010:     __ z_stg(scratch, Address(counter, offset));           // store back
> 2011:   }

Good. Maybe add a Big Endian comment?

src/hotspot/cpu/s390/stubGenerator_s390.cpp line 2929:

> 2927:       } else {
> 2928:         assert(VM_Version::has_Crypto_AES_CTR(), "Inconsistent settings. Check vm_version_s390.cpp");
> 2929:       }

A bit complicated. Why if + assert? That's redundant.

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

PR: https://git.openjdk.java.net/jdk/pull/8142


More information about the hotspot-dev mailing list