RFR: 8354674: AArch64: Intrinsify Unsafe::setMemory
Andrew Haley
aph at openjdk.org
Fri May 9 14:16:06 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
-------------
Commit messages:
- 8354674: AArch64: Intrinsify Unsafe::setMemory
- New test
- Cleanup
- Fixes
- next cut
- First cut
Changes: https://git.openjdk.org/jdk/pull/25147/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=25147&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8354674
Stats: 99 lines in 2 files changed: 96 ins; 0 del; 3 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