JavaMemoryModel: Volatile compliance

From: Bill Pugh (
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

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.

JavaMemoryModel mailing list -

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