RFR: 8186670: Implement _onSpinWait() intrinsic for AArch64 [v9]

Evgeny Astigeevich github.com+42899633+eastig at openjdk.java.net
Tue Sep 28 21:38:53 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:

  Add support of hsdis output to test
  
  When JVM finds the hsdis library it uses it to
  disassemble code. The output contains assembly instructions
  instead of hex codes.
  
  This change adds support of hsdis output to the test.

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5562/files
  - new: https://git.openjdk.java.net/jdk/pull/5562/files/d4a5183a..122ea2e9

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5562&range=08
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5562&range=07-08

  Stats: 40 lines in 1 file changed: 29 ins; 0 del; 11 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