On 04/30/2012 11:50 AM, Richard Earnshaw wrote: > On 30/04/12 09:51, Andrew Haley wrote: >> On 04/27/2012 10:30 PM, Richard Henderson wrote: >>> We can perform a single-copy atomic load with an ldrexd insn. >>> If the load is all we care about, we need not pair this with >>> a strexd. >> >> Can we? It's good to know. I have had a long email exchange with >> engineers at ARM, and they would not say that this was safe. If they >> have changed their mind, I'd like to see chapter and verse. > > The ARM ARM lists a number of single-copy atomic operations. For v7, > the list includes: > > - memory accesses caused by LDREXD and STREXD instructions to > doubleword-aligned locations. > > Of course, there is a potential performance issue from heavy use of the > global monitor to ensure coherency.
Aha! That is excellent news. that none of us managed to discover. I shall immediately change the code we use in OpenJDK. Thanks, Andrew.