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

Anjian Wen wenanjian at openjdk.org
Mon Jun 23 03:28:20 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)

Anjian Wen has updated the pull request incrementally with one additional commit since the last revision:

  remove useless func multiply_32_x_32_loop which only used in AvoidUnalignedAccesses case!

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/25923/files
  - new: https://git.openjdk.org/jdk/pull/25923/files/f33ed75b..17970631

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=25923&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25923&range=00-01

  Stats: 40 lines in 2 files changed: 0 ins; 40 del; 0 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