RFR: JDK-8074578 Document memory visibility effects of some Unsafe methods

Andrew Haley aph at redhat.com
Mon Mar 9 09:27:03 UTC 2015


On 09/03/15 00:34, David Holmes wrote:
> On 7/03/2015 6:49 AM, Martin Buchholz wrote:
>> A wee code review fer ya:
>>
>> https://bugs.openjdk.java.net/browse/JDK-8074578
>> http://cr.openjdk.java.net/~martin/webrevs/openjdk9/Unsafe-CAS-spec/
> 
> Sorry Martin but this is neither accurate nor meaningful. It isn't 
> accurate because the actual Atomic::cmpxchg operations have full 
> bi-directional fences, and in the long case if locking is used you get 
> locking related barriers not volatile access barriers.

But the fact that an implementation is stronger than is strictly
required has no bearing on the specification.  We've discussed this at
some length on the concurrency-interest list, and the semantics of a
volatile read followed by a volatile write (if the copmpare is
successful) are what is required by the JMM.

Andrew.



More information about the core-libs-dev mailing list