[concurrency-interest] LoadStore and StoreStore , are both are required before lazySet and volatile write

Aleksey Shipilev aleksey.shipilev at oracle.com
Thu Sep 25 11:13:59 EDT 2014


On 09/23/2014 12:50 AM, Vitaly Davidovich wrote:
> As for Aleksey's point, I don't quite follow why initializing a final
> field off some racy field *requires* a LoadStore.  Eliminating
> StoreStore may happen, I guess, if something like escape analysis
> removes the allocation of an object with final field and scalar replaces
> it.  But again, unsure why another racy memory location requires
> LoadStore (unless this is talking about same thing as Hans in different
> terms).

Ah yes, I do indeed reference Hans' example there: allowing loads to be
satisfied after the publication store may set us to "observe" the racy
update before the object is published. As Hans warns, trying to
interpret this on transformation level is confusing, and instead I
should have resorted to describe the high-level behavior. Fixed in my
text now.

Also, Hans moved from HP to Google, and that means all my HP links are
broken, argh. Fixed that as well.

-Aleksey.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://cs.oswego.edu/pipermail/concurrency-interest/attachments/20140925/127e24b5/attachment.bin>


More information about the Concurrency-interest mailing list