RFR: 8354674: AArch64: Intrinsify Unsafe::setMemory [v6]

Andrew Haley aph at openjdk.org
Wed May 14 10:47:40 UTC 2025


> This intrinsic is generally faster than the current implementation for Panama segment operations for all writes larger than about 8 bytes in size, increasing to more than 2* the performance on larger memory blocks on Graviton 2, between "panama" (C2 generated, what we use now) and "unsafe" (this intrinsic).
> 
> 
> Benchmark                       (aligned)  (size)  Mode  Cnt     Score    Error  Units
> MemorySegmentFillUnsafe.panama       true  262143  avgt   10  7295.638 ±  0.422  ns/op
> MemorySegmentFillUnsafe.panama      false  262143  avgt   10  8345.300 ± 80.161  ns/op
> MemorySegmentFillUnsafe.unsafe       true  262143  avgt   10  2930.594 ±  0.180  ns/op
> MemorySegmentFillUnsafe.unsafe      false  262143  avgt   10  3136.828 ±  0.232  ns/op

Andrew Haley has updated the pull request incrementally with three additional commits since the last revision:

 - AvoidUnalignedAccesses
 - Temp
 - The cherry on the cake

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/25147/files
  - new: https://git.openjdk.org/jdk/pull/25147/files/87eadb40..e5771988

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=25147&range=05
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25147&range=04-05

  Stats: 20 lines in 1 file changed: 17 ins; 2 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/25147.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25147/head:pull/25147

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


More information about the core-libs-dev mailing list