RFR: 8343249: [Windows] Implement SpinPause [v2]
Julian Waters
jwaters at openjdk.org
Fri Nov 8 09:53:13 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
Julian Waters has updated the pull request incrementally with one additional commit since the last revision:
Swap to handwritten assembly to implement SpinPause in os_windows_aarch64.cpp
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/21781/files
- new: https://git.openjdk.org/jdk/pull/21781/files/02efeeea..dc2421ab
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=21781&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=21781&range=00-01
Stats: 13 lines in 1 file changed: 12 ins; 0 del; 1 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