[jmm-dev] jdk9 APIs
dl at cs.oswego.edu
Wed Aug 12 10:43:07 UTC 2015
On 08/12/2015 04:35 AM, Andrew Haley wrote:
> On 12/08/15 09:33, Aleksey Shipilev wrote:
>> Or is it the other way around: weakCAS is relaxed by default, and
>> acq/rel weakCAS version are actually *stronger* than default weakCAS?
> That's how I read it.
> weakCompareAndSet is ldxr; cmp; stxr
> weakCompareAndSetAcquire is ldaxr; cmp; stxr
> weakCompareAndSetRelease is ldxr; cmp; stlxr
Yes. Exactly so. I'll make a pass on the specs to clarify.
We defined weakCAS back in the original JDK5 atomics, but
just linked the Java code to plain Unsafe CAS, with the
expectation that someday someone would add intrinsics
allowing a these kinds of implementations. More than a
decade later, the intrinsics still don't exist. So it is
nice to see you and Aleksey contemplating this (also for
the acq/rel versions).
More information about the jmm-dev