JDK-8359435 : AArch64: add support for SB instruction to MacroAssembler::spin_wait
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 25,26
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • CPU: aarch64
  • Submitted: 2025-06-13
  • Updated: 2025-07-15
  • Resolved: 2025-06-27
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 26
26 b05Fixed
Related Reports
Causes :  
Causes :  
Description
There is data SB-based spin pauses are less disruptive then ISB-based one on them, so performance is better:
  - https://github.com/mysql/mysql-server/pull/611
  - https://github.com/facebook/folly/pull/2390

There are discussions regarding using it for spin pauses:
  - https://github.com/gperftools/gperftools/pull/1594
  - https://github.com/haproxy/haproxy/pull/2974

Instruction support: https://developer.arm.com/documentation/109697/2025_03/Feature-descriptions/The-Armv8-5-architecture-extension

Speculation Barrier FEAT_SB introduces a barrier (SB) to control speculation.
This feature is supported in both AArch64 and AArch32 states.
FEAT_SB is OPTIONAL from Armv8.0.
FEAT_SB is mandatory from Armv8.5.

Comments
Changeset: ecd2d830 Branch: master Author: Evgeny Astigeevich <eastigeevich@openjdk.org> Date: 2025-06-27 12:49:20 +0000 URL: https://git.openjdk.org/jdk/commit/ecd2d83096a1fea7d5086736306770bcffa4fdb6
27-06-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/25801 Date: 2025-06-13 14:00:08 +0000
13-06-2025