RFR: 8361890: Aarch64: Removal of redundant dmb from C1 AtomicLong methods

Dean Long dlong at openjdk.org
Tue Aug 12 15:47:10 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 dlong (Reviewer).

Yes, you need two reviews.  I just approved it, so you should be good to go, assuming you did jcstress testing as requested by Andrew.

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

PR Review: https://git.openjdk.org/jdk/pull/26245#pullrequestreview-3111521691
PR Comment: https://git.openjdk.org/jdk/pull/26245#issuecomment-3179929329


More information about the hotspot-compiler-dev mailing list