RFR: 8366441: AArch64: Support WFET in OnSpinWait [v2]

Ruben duke at openjdk.org
Thu Dec 18 16:31:04 UTC 2025


> Implement OnSpinWait based on WFET - wait for event with timeout:
>  - introduce OnSpinWaitDelay - the OnSpinWait time in nanoseconds;
>  - the OnSpinWaitInstCount is expected to be 1 when WFET is used;
>  - the waiting loop is followed by SB - to ensure following instructions aren't speculated until wait is finished;
>  - the timer register is read via the self-synchronized view CNTVCTSS_EL0 to prevent the read being hoisted out of the loop.
> 
> The WFET and CNTVCTSS_EL0 read are added to aarch64-asmtest.py as hex values - using the instruction mnemonics would require support of -march=armv9-2.a, and consequently, the binutils 2.36+.

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

  Fix bsd_aarch64 build

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/27030/files
  - new: https://git.openjdk.org/jdk/pull/27030/files/55efce00..c41fb0da

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

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

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


More information about the hotspot-dev mailing list