RFR: 8343249: [Windows] Implement SpinPause

Julian Waters jwaters at openjdk.org
Wed Oct 30 06:34:15 UTC 2024


SpinPause is currently not implemented on any Windows platforms, due to a lack of access to assembly in the Microsoft compiler. The YieldProcessor macro can act as a stand in for this purpose, as it compiles down to a single pause instruction on x64 (Which seems to be all that one needs to implement SpinPause in HotSpot). I am less certain about the Windows/ARM64 implementation. There, YieldProcessor compiles down to dmb ishst; yield and I am unsure whether that is a correct SpinPause implementation. If need be, I can retract the ARM64 implementation and only have this for x86

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

Commit messages:
 - YieldProcessor in os_windows_aarch64.cpp
 - 8343249

Changes: https://git.openjdk.org/jdk/pull/21781/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21781&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8343249
  Stats: 9 lines in 2 files changed: 1 ins; 6 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/21781.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21781/head:pull/21781

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


More information about the hotspot-runtime-dev mailing list