RFR: 8361890: Aarch64: Removal of redundant dmb from C1 AtomicLong methods
Andrew Haley
aph at openjdk.org
Mon Jul 21 09:07:41 UTC 2025
On Thu, 10 Jul 2025 15:49:40 GMT, Samuel Chee <duke at openjdk.org> wrote:
> The current C1 implementation of AtomicLong methods
> which either adds or exchanges (such as getAndAdd)
> emit one of a ldaddal and swpal respectively when using
> LSE as well as an immediately proceeding dmb. Since
> ldaddal/swpal have both acquire and release semantics,
> this provides similar ordering guarantees to a dmb.full
> so the dmb here is redundant and can be removed.
>
> This is due to both clause 7 and clause 11 of the
> definition of Barrier-ordered-before in B2.3.7 of the
> DDI0487 L.a Arm Architecture Reference Manual for A-profile
> architecture being satisfied by the existence of a
> ldaddal/swpal which ensures such memory ordering guarantees.
Marked as reviewed by aph (Reviewer).
-------------
PR Review: https://git.openjdk.org/jdk/pull/26245#pullrequestreview-3037151111
More information about the hotspot-compiler-dev
mailing list