aarch64 DMB - patch
Andrew Haley
aph at redhat.com
Tue Jun 23 10:28:58 UTC 2015
On 23/06/15 11:12, Andrew Dinn wrote:
> However, I am not convinced that these barriers can be removed even
> granted that change. There are various other memory operations encoded
> in both the fast_lock and fast_unlock cases both before and after the
> load-exclusive + store-exclusive pair. I believe the point of separating
> out the MemBarAcquireLock and MemBarReleaseLock from FastLock and
> FastUnlock is to ensure that those related memory operations are
> correctly synchronized wrt to memory operations performed by other
> threads which may be trying to synchronize on the same oop.
It's delicate code, for sure. For a while we weren't using stlxr when
acquiring a lock because I decided we didn't need to. This was wrong
because when you copy a header word to the displaced header you *must*
ensure that the store to the displaced header itself happens-before
the store of the pointer to the displaced header.
OTOH, I'm not at all sure we need the separate locks as well as
LDAXR/STLXR.
Andrew.
More information about the hotspot-compiler-dev
mailing list