> <alex@enkidu.East.Sun.COM> wrote:
> >
> >Hans Boehm wrote:
> >
> >> 1) Can a volatile write be reordered with a following volatile read as in
> >> TSO. I think this is basically the same question as whether monitor exit
> >> and a following volatile read can be reordered. I currently think this is
> >> observable (in spite of earlier messages to the contrary), but it's probably
> >> not critical either way. Allowing the reordering is cheaper on Itanium, at
> >> least for volatiles.
> >>
>I agree that such reorderings are observable and I can think of several
>techniques that rely on the ability to prevent (volatile) reads
>being reordered before (volatile) writes.
[ ...two of my favorite examples elided...]
Alex is entirely right. We cannot relax rules to allow
read-after-write reorderings of volatiles (similarly for
read-after-unlock). A bunch of useful algorithms wouldn't be
expressible.
-Doug
-------------------------------
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel
This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:00:33 EDT