RFR: 8351140: RISC-V: Intrinsify Unsafe::setMemory [v3]
Anjian-Wen
duke at openjdk.org
Wed Apr 30 06:36:30 UTC 2025
> From [JDK-8329331](https://bugs.openjdk.org/browse/JDK-8329331), add riscv unsafe::setMemory intrinsic’s generator generate_unsafe_setmemory. This intrinsic optimizes about quite a lot unsafe setmemory time
>
> on my musebook, the JMH test micro:java.lang.foreign.MemorySegmentZeroUnsafe shows below
>
> before the patch
> `Benchmark (aligned) (size) Mode Cnt Score Error Units
> MemorySegmentZeroUnsafe.panama true 1 avgt 30 24.198 ± 0.392 ns/op
> MemorySegmentZeroUnsafe.panama true 2 avgt 30 20.688 ± 0.013 ns/op
> MemorySegmentZeroUnsafe.panama true 3 avgt 30 20.703 ± 0.045 ns/op
> MemorySegmentZeroUnsafe.panama true 4 avgt 30 20.053 ± 0.016 ns/op
> MemorySegmentZeroUnsafe.panama true 5 avgt 30 20.682 ± 0.016 ns/op
> MemorySegmentZeroUnsafe.panama true 6 avgt 30 20.732 ± 0.061 ns/op
> MemorySegmentZeroUnsafe.panama true 7 avgt 30 21.403 ± 0.096 ns/op
> MemorySegmentZeroUnsafe.panama true 8 avgt 30 25.268 ± 0.197 ns/op
> MemorySegmentZeroUnsafe.panama true 15 avgt 30 27.481 ± 0.195 ns/op
> MemorySegmentZeroUnsafe.panama true 16 avgt 30 27.577 ± 0.019 ns/op
> MemorySegmentZeroUnsafe.panama true 63 avgt 30 208.893 ± 2.795 ns/op
> MemorySegmentZeroUnsafe.panama true 64 avgt 30 199.167 ± 0.936 ns/op
> MemorySegmentZeroUnsafe.panama true 255 avgt 30 220.672 ± 0.879 ns/op
> MemorySegmentZeroUnsafe.panama true 256 avgt 30 246.256 ± 0.756 ns/op
> MemorySegmentZeroUnsafe.panama false 1 avgt 30 23.849 ± 0.088 ns/op
> MemorySegmentZeroUnsafe.panama false 2 avgt 30 20.671 ± 0.006 ns/op
> MemorySegmentZeroUnsafe.panama false 3 avgt 30 20.694 ± 0.037 ns/op
> MemorySegmentZeroUnsafe.panama false 4 avgt 30 20.048 ± 0.010 ns/op
> MemorySegmentZeroUnsafe.panama false 5 avgt 30 20.684 ± 0.020 ns/op
> MemorySegmentZeroUnsafe.panama false 6 avgt 30 20.685 ± 0.016 ns/op
> MemorySegmentZeroUnsafe.panama false 7 avgt 30 21.383 ± 0.086 ns/op
> MemorySegmentZeroUnsafe.panama false 8 avgt 30 25.684 ± 0.006 ns/op
> MemorySegmentZeroUnsafe.panama false 15 avgt 30 27.593 ± 0.043 ns/op
> MemorySegmentZeroUnsafe.panama false 16 avgt 30 28.437 ± 0.228 ns/op
> MemorySegmentZeroUnsafe.panama false 63 avgt 30...
Anjian-Wen has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains six commits:
- delete useless label
- fix label jump
- Merge branch 'openjdk:master' into temp_test_unsafe
- fix address alignment at tail
- modify loop logic to generate_fill and add unsafe mark
- RISC-V: Intrinsify Unsafe::setMemory
-------------
Changes: https://git.openjdk.org/jdk/pull/23890/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23890&range=02
Stats: 116 lines in 1 file changed: 116 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/23890.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/23890/head:pull/23890
PR: https://git.openjdk.org/jdk/pull/23890
More information about the hotspot-compiler-dev
mailing list