RFR: 8348561: Add aarch64 intrinsics for ML-DSA [v5]

Hao Sun haosun at openjdk.org
Wed Feb 19 02:58:03 UTC 2025


On Thu, 6 Feb 2025 18:47:54 GMT, Ferenc Rakoczi <duke at openjdk.org> wrote:

>> By using the aarch64 vector registers the speed of the computation of the ML-DSA algorithms (key generation, document signing, signature verification) can be approximately doubled.
>
> Ferenc Rakoczi has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Adding comments + some code reorganization

Hi. Here is the test result of our CI.

### copyright year

the following files should update the copyright year to 2025.


src/hotspot/cpu/aarch64/assembler_aarch64.hpp
src/hotspot/cpu/aarch64/stubRoutines_aarch64.hpp
src/hotspot/share/runtime/globals.hpp
src/java.base/share/classes/sun/security/provider/ML_DSA.java
src/java.base/share/classes/sun/security/provider/SHA3Parallel.java
test/micro/org/openjdk/bench/java/security/MLDSA.java


### cross-build failure

Cross build for riscv64/s390/ppc64 failed.

Here shows the error msg for ppc64


=== Output from failing command(s) repeated here ===
* For target support_interim-jmods_support__create_java.base.jmod_exec:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/tmp/jdk-src/src/hotspot/share/asm/codeBuffer.hpp:200), pid=72752, tid=72769
#  assert(allocates2(pc)) failed: not in CodeBuffer memory: 0x0000e85cb03dc620 <= 0x0000e85cb03e8ab4 <= 0x0000e85cb03e8ab0
#
# JRE version: OpenJDK Runtime Environment (25.0) (fastdebug build 25-internal-git-1e01c6deec3)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 25-internal-git-1e01c6deec3, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# V  [libjvm.so+0x3b391c]  Instruction_aarch64::~Instruction_aarch64()+0xbc
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E" (or dumping to /tmp/ci-scripts/jdk-src/make/
#
# An error report file with more information is saved as:
# /tmp/jdk-src/make/hs_err_pid72752.log
   ... (rest of output omitted)

* All command lines available in /sysroot/ppc64el/tmp/build-ppc64el/make-support/failure-logs.
=== End of repeated output ===


I suppose we should make the similar update at file `src/hotspot/cpu/aarch64/stubDeclarations_aarch64.hpp` to other platforms

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

PR Comment: https://git.openjdk.org/jdk/pull/23300#issuecomment-2667389849


More information about the hotspot-dev mailing list