RFR: 8343249: [Windows] Implement SpinPause [v2]

Julian Waters jwaters at openjdk.org
Tue Nov 12 14:24:13 UTC 2024


On Fri, 8 Nov 2024 09:53:13 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
>
> 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

I've switched ARM64 to use the existing assembler written for Linux. Let me know if this is correct or not

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

PR Comment: https://git.openjdk.org/jdk/pull/21781#issuecomment-2470666892


More information about the hotspot-runtime-dev mailing list