Release store in C2 putfield

Andrew Haley aph at redhat.com
Thu Sep 11 15:02:06 UTC 2014


On 09/05/2014 02:08 PM, Doug Lea wrote:
> 2. Hans Boehm has argued/demonstrated over the years (see for
> example, http://hboehm.info/c++mm/no_write_fences.html), that
> StoreStore fences, as opposed to release==(StoreStore|StoreLoad)

Shouldn't that be (LoadStore|StoreStore) ?

> fences, are too delicate and anomaly-filled to expose as a
> programming mode. But there are cases where they may come into
> play, for example as the first fence of a volatile-store
> (that also requires a trailing StoreLoad), that might be
> profitable to separate if any other internal mechanics could
> then be applied to further optimize. And even if not generally
> useful, they seem to apply to the GC post_barrier case.

They're used when an object is created, just after it is zeroed
but before it is initialized.

Andrew.


More information about the hotspot-dev mailing list