On Tue, 29 Oct 2024 14:37:43 GMT, Aleksey Shipilev <sh...@openjdk.org> wrote:
>> @shipilev There _is_ a way to implement SpinPause on Windows/x64 though, if >> support is really as simple as a single pause instruction. Should I help >> implement this separately (After this PR is integrated, to avoid conflicts)? >> Although, the way SpinPause can be implemented is honestly so simple and >> trivial that @magicus could simply replace the entire body of this SpinPause >> with it in this PR > > Submit a separate PR and implement this :) Pretty sure you'll get into some > dark territories in Windows/AArch64, see how Linux/AArch64 does this. But > honestly, this whole `extern "C"` mess should probably be cleaned up in favor > of arch-specific stubs or something like that... Oh, I was thinking about Windows/x64, but I guess I can consider Windows/ARM64 too. I had a look at Linux/ARM64 actually, and it seems like it doesn't actually properly support SpinPause? It seems like it uses the overhead of a method call to "implement" SpinPause. I had a look at some example assembly that could potentially be used to implement it for Windows/ARM64, but I don't know if it's correct. If you want, we could continue this discussion elsewhere ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/21744#discussion_r1820959571