JavaMemoryModel: Prescient reads unnecessary?

From: Bart Jacobs (bart.jacobs@student.kuleuven.ac.be)
Date: Wed Nov 12 2003 - 11:55:17 EST


Hi,

Do any or both of the following properties hold for the proposed memory
model?

P1: "If an execution has a valid justification order, then it has a
valid justification order that has no prescient reads."

P2: "If an execution has a valid justification order, then it has a
valid justification order that has no prescient actions other than
prescient writes."

In other words, my question is: I understand that prescient writes are
necessary, since they allow threads to see writes out of order, but does
it make a difference if other prescient actions are allowed or not?
Perhaps they are allowed only so that a justification order for an
execution E of a program P can also be used as a justification order for
an execution E' of an optimized program P'? Particularly, I do not see
what the implications are of allowing prescient reads (except, again, as
a proof technique).

I could attempt to prove these properties myself, but I figured it's
easier to ask those whose insight in the JMM is such that they can tell
immediately. :-)

Thanks!

Bart

-------------------------------
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel



This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:00:53 EDT