Here are my current findings on volatile compliance:
All JVM's on Windows fail the requirement at reads/writes of volatile
longs and doubles be atomic. The Solaris JVM's pass.
All JVM's fail sequential consistency.
Solaris JVM 1.2.2 reference (Hotspot 1.0.1) and Windows JVM 1.3.0-C
(Hotspot, client version) fail to enforce coherence for volatile
variables.
My impression is that the Windows Hotspot client is completely
ignoring the volatile flag. I tried running Spec JVM 98 with all
non-final fields (in both the application and in rt.jar) marked as
volatile, and got the same performance as the unaltered code.
Pretty sad.
Bill
-------------------------------
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel
This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:00:26 EDT