RFR: 8360179: RISC-V: Only enable BigInteger intrinsics when AvoidUnalignedAccess == false

Anjian Wen wenanjian at openjdk.org
Mon Jun 23 02:30:58 UTC 2025


This disables BigInteger.multiplyToLen(), BigInteger.squareToLen(), BigInteger.montgomeryMultiply()
and BigInteger.montgomerySquare() on linux-riscv64 platforms where misaligned memory accesses is slow.
The reason is that these four BigInteger intrinsics do 8-byte misaligned memory accesses to int arrays
under -XX:+UseCompactObjectHeaders. And this will have a negative impact on SPECJvm2008 crypto tests.

Testing:
- [x] Tier1-3 tests.
- [x] SPECJvm2008 crypto performance tests.
[score.txt](https://github.com/user-attachments/files/20846531/score.txt)

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

Commit messages:
 - RISC-V: Only enable BigInteger intrinsics when AvoidUnalignedAccess == false

Changes: https://git.openjdk.org/jdk/pull/25923/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=25923&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8360179
  Stats: 92 lines in 2 files changed: 21 ins; 62 del; 9 mod
  Patch: https://git.openjdk.org/jdk/pull/25923.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25923/head:pull/25923

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


More information about the hotspot-dev mailing list