Re: JavaMemoryModel: Is "memory coherence" necessary in the new JMM?

From: Bill Pugh (
Date: Fri Jul 23 1999 - 17:04:05 EDT

At 3:26 PM -0400 7/23/99, wrote:
>If we are willing to accept the removal of memory coherence from the
>new JMM, the next question that arises is: what guarantees should be
>made for programs with data races? We believe that the LC model
>offers one answer. Are there any other suggestions?

I think that at the moment we are trying to figure out what
source-level safety guarantees we want to make, and some of the
implementation issues involved in implementing them. Some of the
possible safety guarantees are:
   * type safety
   * not-out-of-thin-air safety (any value you read from a field or
element is a value that was written to that field or element by some
   * weak or strong class initialization safety,
   * instance initialization safety,
   * strong array length safety (i.e., you will always see the correct
length for an array, never a stale value of zero or garbage).

Once we have that, then we can start trying to figure out formalisms
in which to specific them.

One of the big unknown issues (to me) is:

        * What do you need to have in a memory model so that you
          can prove whether your compiler analysis and transformations
          are legal with respect it to (and so that most of them are)?

Location consistency seems (to me) to be a rather complicated and
subtle system. I am concerned about the difficultly of verifying
compiler transformations against it, when I don't even know how to do
it against simpler systems.

At 3:26 PM -0400 7/23/99, wrote:
> Should memory coherence be part of the new JMM?

At the moment, I feel confident that it will not. But it really
depends on whether or not it impacts any of the safety guarantees we
decide to make. I don't think it will, but...


This is the JavaMemoryModel mailing list, managed by Majordomo 1.94.4.

To send a message to the list, email
To send a request to the list, email and put
your request in the body of the message (use the request "help" for help).
For more information, visit

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