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

Ferenc Rakoczi duke at openjdk.org
Fri Feb 21 10:25:59 UTC 2025


On Wed, 19 Feb 2025 02:55:18 GMT, Hao Sun <haosun at openjdk.org> wrote:

>> 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

@shqking, I changed the copyright years, but I don't really understand how the aarch64-specific code can overflow buffers on other architectures. As far as I understand, Instruction_aarch64 should not have been there in a ppc build.
Was this a build attempted on an aarch64 for the other architectures?

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

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


More information about the hotspot-dev mailing list