JavaMemoryModel: Volatile compliance

From: Bill Pugh (pugh@cs.umd.edu)
Date: Wed May 31 2000 - 10:47:07 EDT


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