RE: JavaMemoryModel: New Unified JMM Description

From: Sarita Adve (
Date: Tue Apr 13 2004 - 13:19:13 EDT

This is intentional. Can you explain why you think it is problematic, I am
likely missing your concern?
I am in the process of writing up an "inuition for the model" document, but
have had several digressions trying to determine the best way to motivate
and justify it.

-----Original Message-----
[] On Behalf Of Jerry Schwarz
Sent: Monday, April 12, 2004 11:01 PM
To: Jeremy Manson;
Subject: Re: JavaMemoryModel: New Unified JMM Description

I finally had a chance to look at this in some detail and there is something
that I think must be wrong.

Specifically the rules for committing actions include the following
(apologies for ASCII notation)

1. Ci is a subset of Ai

6. For any read r in Ai - C(i-1) we have Wi(r) happens-before r

These imply that for any r in Ci - C(i-1) there will need to be a
happens-before relationship between the read and the write that it sees.

This is obviously not intended so either (1) or (6) is misstated. My
hypothises is that 6 is supposed to apply only to volatile reads, but I'm
not terribly confident of that.

At 12:38 PM 4/5/2004, Jeremy Manson wrote:

Hi folks,

After much consultation from a lot of you, Bill, Sarita and I have put
together a new description of the memory model. It is different from, but
equivalent to, the last description. We feel that this one is cleaner, and
probably easier to understand.

Victor Luchangco deserves particular credit for his input; his formalization
of our model heavily influenced our new document.

As far as the semantics go, even after a great deal of scrutiny and email
back-and-forth, no one was able to take Bill up on his $100 bounty, so we
are fairly confident in the new model. There are a couple of tweaks to our
treatment of one or two corner cases, but they do not make a substantive
difference to the model.

Information about the new description is on the same web page:

JavaMemoryModel mailing list -

------------------------------- JavaMemoryModel mailing list -

JavaMemoryModel mailing list -

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