JavaMemoryModel: Re: movement into synchronized blocks

From: Joseph Bowbeer (jozart@csi.com)
Date: Fri Mar 30 2001 - 05:50:21 EST


PS - I'm still fairly sure there's a difference in the movement of memory
operations allowed by the two proposals, but I'm less sure about the
details.

The CRF paper explicitly states that it permits normal reads and writes to
move into a lock region, and prevents memory operations inside the lock
region from moving outside.

But what movement is allowed by the operational semantics model? My
revised interpretation is that normal writes can move up and down across a
lock but cannot cross an unlock; while normal reads cannot cross a lock but
can move up and down across an unlock. What's the real story?

----- Original Message -----
From: "Joseph Bowbeer" <jozart@csi.com>
To: "JMM" <javaMemoryModel@cs.umd.edu>
Sent: Thursday, March 29, 2001 10:44 PM
Subject: JavaMemoryModel: movement into synchronized blocks

Am I correct in thinking the proposed models differ in the allowed movement
of normal reads and writes into synchronized blocks?

The CRF model allows normal memory operations above or below a synchronized
block to move into the synchronized block, but the operational semantics
model only allows normal memory operations below a synchronized block to
move into the synchronized block.

Right? What are the implications in terms of real code?

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



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