Sarita, Jeremy and I have been talking about a number of issues.
I'm going to follow up with detailed messages on each of these, but I
just wanted to give you a quick overview.
* I've put up a web page with causality examples:
http://www.cs.umd.edu/~pugh/java/memoryModel/CausalityTestCases.html
these consist of the original 5, Sarita's example (#6), plus 4 new
test cases, one of which I believe should be forbidden (#10).
* Sarita's SC-2 model actually does allow the behavior in question in test 5;
previously we had thought that SC-2 prohibited the behavior in test 5.
* Sarita's SC-3 model forbids the behavior in a new test case, new causality
test case #7. Simple compiler transformations allow this behavior, so we have
to allow it.
* Sarita has agreed with us that reasoning over an SC ordering doesn't
seem to work, and that reasoning over a causal order seems to be the way to
go. Sarita says she can understand the Manson/Pugh document released last
night, and would like to propose a variation of it. This variation
simplifies the model, and weakens the model to allow the behavior in test
cases 5 and 10, but still forbids the behavior in test case 4.
* A key issue for the JMM expert group and community to think about
is whether we want to allow or forbid the behavior in test cases 5 and 10.
Forbidding test cases 5 and 10 would forbid certain optimistic
transformations
that might be possible in future architectures, or other transformations
we are unaware of.
More on bullets 2-5 in following emails.
Sarita, please correct me if I've misstated any of your thoughts.
Bill
-------------------------------
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel
This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:00:49 EDT