RE: JavaMemoryModel: Ordering of volatile and monitor actions

From: Sarita Adve (sadve@cs.uiuc.edu)
Date: Fri Jul 06 2001 - 15:51:12 EDT


> On Behalf Of Jeremy Manson
> Sent: Monday, July 02, 2001 1:04 PM
> To: javamemorymodel@cs.umd.edu
> Subject: RE: JavaMemoryModel: Ordering of volatile and monitor actions
>
>
> > >
> > > Reordering a monitorexit and a finite number of volatile reads may
> > > fall into the category of something that is illegal in the semantics,
> > > but can't be observed so is legal in the implementation.
> >
> > This really should not be an issue. The *semantics* should be
> specified in a
> > way that all implementations are legal. (Hence the previous
> suggestion of
> > giving up on per-process orderings as a way to specify the semantics.)
> >

First, I should have said "The *semantics* should be specified in a way that
what is considered legal in an implementation should also be legal by the
semantics."

>
> I would like to clarify this a tad, if I may, because I think it is an
> important-ish issue. In our semantics, we say :
>
> A JVM implementation is legal iff for any execution observed on the JVM,
> there is an execution under these semantics that is observationally
> equivalent.

Based on this and Bill's message, we are just disagreeing on what we refer
to as "semantics;" I believe philosophically, we are in agreement. You are
using the term "semantics" to mean a set of rules. I use the term semantics
for the rules and the phrase that everything "equivalent" to the rules is
also allowed.

Sarita

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



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