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