RFR: 8343249: [Windows] Implement SpinPause
David Holmes
dholmes at openjdk.org
Thu Oct 31 06:00:27 UTC 2024
On Wed, 30 Oct 2024 06:29:29 GMT, Julian Waters <jwaters at openjdk.org> wrote:
> 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
Also the Aarch64 folk went to a lot of trouble to provide a flexible implementation via OnSpinWaitInst, so if anything Windows-Aarch64 should use that. But again "if it ain't broke ..."
-------------
PR Comment: https://git.openjdk.org/jdk/pull/21781#issuecomment-2449059350
More information about the hotspot-runtime-dev
mailing list