Standing at the view point of JVM, which actions
do getfield/putfield correspond to, use/assign or load/store?
Java specification (Chapter 17) doesn't state that explicitly. In Alex 
Gontmakher and Assaf Schuster's paper "Java consistency: nonoperational 
characterizations for Java memory behavior", getfield/putfield were 
interpreted to load/store. In Puph's paper "Fixing the Java 
Memory Model", getfield/putfield were interpreted to use/assign. 
However, Puph also supports that Java requires coherence.
These two interpretation seem contradictive to me. If getfield/putfield
correspond to load/store, according to Java specification, read/write is 
required (in this context, coherence is easily to understand); if 
getfield/putfield correspond to use/assign, read/write is optional! The 
memory mode is rather weak.
Another question also confused me: what is thread working memory? If 
getfield/putfield correspond to load/store, thread stack can be considered
as thread working memory. if getfield/putfield correspond to use/assign, 
thread stack is a part of thread engine.
Best Regards,
Fang Wei Jian
-------------------------------
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel
This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:00:30 EDT