RFR: 8299844: RISC-V: Implement _onSpinWait intrinsic
Yadong Wang
yadongwang at openjdk.org
Wed Jan 11 08:20:18 UTC 2023
Implement _onSpinWait() intrinsic for RISC-V, and it can be implemented by using PAUSE instruction from Zihintpause Extension, which is ratified and a mandatory extension of RVA22U64 (https://github.com/riscv/riscv-profiles/blob/main/profiles.adoc#rva22u64-mandatory-extensions).
Software can use the PAUSE instruction to reduce energy consumption while executing spinwait
code sequences (https://github.com/riscv/riscv-isa-manual/blob/master/src/zihintpause.tex).
Add a test case of test/hotspot/jtreg/compiler/onSpinWait/TestOnSpinWaitRISCV64.java, passed on QEMU.
-------------
Commit messages:
- fix whitespace
- 8299844: RISC-V: Implement _onSpinWait intrinsic
Changes: https://git.openjdk.org/jdk/pull/11921/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=11921&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8299844
Stats: 126 lines in 7 files changed: 119 ins; 0 del; 7 mod
Patch: https://git.openjdk.org/jdk/pull/11921.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/11921/head:pull/11921
PR: https://git.openjdk.org/jdk/pull/11921
More information about the hotspot-dev
mailing list