[concurrency-interest] AtomicReference.updateAndGet() mandatory updating

Andrew Haley aph at redhat.com
Thu Jun 1 09:02:14 EDT 2017


On 01/06/17 13:25, Doug Lea wrote:
> Maybe we should just say this.
> 
> It still implies the main property that Alex has been getting at:
>  "A failing CAS is strictly after the (volatile) store that failed it."
> But does so without explicitly claiming that a failed CAS
> has volatile write semantics.
> 
> And further implies that Alex's example still holds.
> 
> And for ARM, if ldax is used for load, then no fence on failure seems
> to be required?

LDARX is used for a seq.cst load.  And, no, I don't think that a fence
on failure is needed to ensure that a failing CAS is strictly after
the (volatile) store that failed it.

-- 
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671


More information about the Concurrency-interest mailing list