Hi,
    In "Fixing the Java Memory Model", Bill gives an example in Figure 1 
that an anomalous (non sequentially consistent) result can happen due to 
prescient store. I wonder whether this is actually possible. For the 
result to occur, the store of y by T1 has to be reordered before the 
read of y by T2, and the store of x by T2 has to be reordered before the 
read of x by T1. However, the second bullet of Seciton 17.8 of the Java 
Language Specification says that no load operations on the same variable 
should appear between an assign action and its corresponding reordered 
store action. This means the assign of y by T1 has to be before the load 
of y by T2, and the assign of x by T2 has to be before the load of x by 
T1, which is impossible.
    Anyone can point out any problem of my arguments?
    And more fundamentally, can we claim that the existing Java 
consistency model does not guarantee sequential consistency? Do we have 
other examples?
--God bless.
Best regards, Kevin
------------------------------- JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel
This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:01:09 EDT