I talked with Tim Lindholm and Gilad Bracha. For a few giddy moments, 
we though that I had the schedule wrong and that we might actually 
have another month to enter community review. Alas, Gilad had the 
schedule wrong and our hopes were soon dashed.
=== JCP Process ===
First, to explain the JCP process. Community review means that the 
spec is being reviewed by members of the JCP, although in practice it 
often means a wider review by the Java community. It is best thought 
of as an alpha release.
We are allowed to make changes after the community review. So long as 
none of the changes after the community review will require that 
existing JVM implementations be changed, it is almost certain that 
nobody will object.
After community review, we go into "public review". Public review is 
somewhat misnamed, because it is common for the public to have had a 
chance to review the document earlier than during the public review. 
At any rate, think of "public review" as a beta release.
After public review, we can make further changes. However, at this 
point we would be hoping to have minimal changes that clearly do not 
impact the semantics of the spec.
=== Schedule ===
Community review needs to be _completed_ by September 8th in order 
for a JSR to make it into Tiger, aka Java 1.5. Tim is going to check 
on exactly when we need to ship a document to JCP to meet that 
deadline. Sometime next week, almost certainly in the 
Tuesday-Thursday window. Tim will get back to us tomorrow on a more 
detailed timeline.
=== What we need ===
Both Tim and Gilad were firmly of the option that we did not need a 
final, formal semantics for community review.
We do need to convey a good sense of the behavior we intend. In 
particular, I think we need to reach agreement on something like the 
general rules and specific causality examples I posted to the list on 
Tuesday. We should try to come up with additional examples to clarify 
the issues. We could even have "don't care" examples in the alpha 
release, but I think we need to eliminate all of the "don't care" 
examples by the beta release. I would prefer to minimize or eliminate 
don't care examples in the alpha release, since it just postpones a 
decision. But, if we come up with a truly weird and marginal example, 
perhaps asking in the alpha release if anyone cares about it is the 
right solution.
As I mentioned in my previous email, I'm going to suggest that we 
allow causal examples 1-3 and 6 (Sarita's smoking gun), and prohibit 
4-5. I think the only one there is any question about is 5. If anyone 
wants to argue for allowing 5, please speak up.
Although this gives us an incredibly tight schedule, I am confident 
we can accomplish it if no substantial new issues or arguments come 
up. As we work out the differences between the various models, I hope 
things will clarify as to which models give us the behavior we desire.
Many thanks to everyone for their hard work recently. I'm sorry (for 
myself as well as for you) that all this work hit everyone at the 
last moment, but we do what we must.
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