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