RFR: 8186670: Implement _onSpinWait() intrinsic for AArch64 [v5]
Evgeny Astigeevich
github.com+42899633+eastig at openjdk.java.net
Thu Sep 23 12:02:30 UTC 2021
> This PR is a follow-up on the discussion [“RFC: AArch64: Implementing spin pauses with ISB”](https://mail.openjdk.java.net/pipermail/hotspot-dev/2021-August/054033.html).
>
> It adds the option `OnSpinWaitImpl=value`, where `value` can be:
>
> - `none`: no implementation for spin pauses. This is the default value.
> - `Nnop`: use `nop` instruction for spin pauses. Optional `N` can be `2..9` to specify a number of `nop` instructions.
> - `Nisb`: use `isb` instruction for spin pauses. Optional `N` can be `2..9` to specify a number of `isb` instructions.
> - `Nyield`: use `yield` instruction for spin pauses. Optional `N` can be `2..9` to specify a number of `yield` instructions.
>
> The code for the `Thread.onSpinWait` intrinsic is generated based on the value of `OnSpinWaitImpl`.
>
> Testing:
>
> - `make test TEST="gtest"`: Passed
> - `make run-test TEST="tier1"`: Passed
> - `make run-test TEST="tier2"`: Passed
> - `make run-test TEST=hotspot/jtreg/compiler/onSpinWait`: Passed
Evgeny Astigeevich has updated the pull request incrementally with one additional commit since the last revision:
Rename PauseImpl to SpinWait
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/5562/files
- new: https://git.openjdk.java.net/jdk/pull/5562/files/4db361e1..2beb6382
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5562&range=04
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5562&range=03-04
Stats: 46 lines in 5 files changed: 2 ins; 1 del; 43 mod
Patch: https://git.openjdk.java.net/jdk/pull/5562.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/5562/head:pull/5562
PR: https://git.openjdk.java.net/jdk/pull/5562
More information about the hotspot-dev
mailing list