Integrated: 8186670: Implement _onSpinWait() intrinsic for AArch64

Evgeny Astigeevich duke at openjdk.java.net
Thu Nov 11 22:27:46 UTC 2021


On Fri, 17 Sep 2021 11:26:03 GMT, Evgeny Astigeevich <duke at openjdk.java.net> wrote:

> 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 DIAGNOSTIC options `OnSpinWaitInst=inst`, where `inst` can be:
> 
> - `none`: no implementation for spin pauses. This is the default value.
> - `nop`: use `nop` instruction for spin pauses.
> - `isb`: use `isb` instruction for spin pauses.
> - `yield`: use `yield` instruction for spin pauses.
> 
> And  `OnSpinWaitInstCount=count`, where `count` specifies a number of `OnSpinWaitInst` and can be in `1..99` range. It is an error to use `OnSpinWaitInstCount` when `OnSpinWaitInst` is `none`.
> 
> The code for the `Thread.onSpinWait` intrinsic is generated based on the values of `OnSpinWaitInst` and `OnSpinWaitInstCount`.
> 
> 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
> 
> CSR: https://bugs.openjdk.java.net/browse/JDK-8274564

This pull request has now been integrated.

Changeset: 6954b98f
Author:    Evgeny Astigeevich <eastig at amazon.com>
Committer: Paul Hohensee <phh at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/6954b98f8faf29b6c2d13687a7a94e83302bdd85
Stats:     766 lines in 13 files changed: 764 ins; 0 del; 2 mod

8186670: Implement _onSpinWait() intrinsic for AArch64

Reviewed-by: phh, aph

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

PR: https://git.openjdk.java.net/jdk/pull/5562


More information about the hotspot-dev mailing list