[jdk15u-dev] RFR: 8186670: Implement _onSpinWait() intrinsic for AArch64

Evgeny Astigeevich duke at openjdk.java.net
Wed Feb 23 15:52:39 UTC 2022


A backport of a configurable implementation of _onSpinWait() intrinsic to achieve parity with x86 which has it implemented.
The risk of changes is low. By default it is off.
Tested for fastdebug and release builds:

- `gtest`: Passed
- `tier1`...`tier3`: Passed except [JDK-8261534](https://bugs.openjdk.java.net/browse/JDK-8261534) and [JDK-8277488](https://bugs.openjdk.java.net/browse/JDK-8277488)
- `hotspot/jtreg/compiler/onSpinWait`: Passed

Applying the patch had issues to find proper positions. No code changes are needed after repositioning.
Changes to `globals_aarch64.hpp` needed the new added options definitions to be converted from the new format to the old one. `vm.flagless` was removed from the new tests. 
Changes to `vm_version_aarch64.cpp`, instantiation of `SpinWait`, use C++11 syntax. They needed to be changed to C++03 syntax.

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

Commit messages:
 - Backport 6954b98f8faf29b6c2d13687a7a94e83302bdd85

Changes: https://git.openjdk.java.net/jdk15u-dev/pull/181/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk15u-dev&pr=181&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8186670
  Stats: 765 lines in 13 files changed: 763 ins; 0 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk15u-dev/pull/181.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk15u-dev pull/181/head:pull/181

PR: https://git.openjdk.java.net/jdk15u-dev/pull/181


More information about the jdk-updates-dev mailing list