RFR: 8321371: SpinPause() not implemented for bsd_aarch64/macOS

Evgeny Astigeevich eastigeevich at openjdk.org
Wed Dec 13 10:47:43 UTC 2023


On Wed, 6 Dec 2023 14:01:49 GMT, Fredrik Bredberg <fbredberg at openjdk.org> wrote:

> The SpinPause() function only returns 0 on bsd_aarch64 (i.e. macOS)
> 
> This PR initially meant to implement SpinPause() for macOS on AArch64 by copying the source from linux_aarch64, but after having some internal discussions, it seems like the most reasonable thing to do is to implement SpinPause() using a single inline yield instruction.
> 
> Tested successfully on macosx-aarch64 tier1-tier5.

Based on `https://github.com/dougallj/applecpu`, `yield` is `nop`. I'd use one `isb` as we use it for Neoverse. On M1, `isb` is ~25-30 clocks.

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

PR Comment: https://git.openjdk.org/jdk/pull/16994#issuecomment-1853677491


More information about the hotspot-runtime-dev mailing list