1.1 --- a/src/os/solaris/vm/os_solaris.cpp Sun Jul 26 12:59:41 2009 -0700 1.2 +++ b/src/os/solaris/vm/os_solaris.cpp Sun Jul 26 16:40:14 2009 -0700 1.3 @@ -1643,7 +1643,8 @@ 1.4 inline hrtime_t getTimeNanos() { 1.5 if (VM_Version::supports_cx8()) { 1.6 const hrtime_t now = gethrtime(); 1.7 - const hrtime_t prev = max_hrtime; 1.8 + // Use atomic long load since 32-bit x86 uses 2 registers to keep long. 1.9 + const hrtime_t prev = Atomic::load((volatile jlong*)&max_hrtime); 1.10 if (now <= prev) return prev; // same or retrograde time; 1.11 const hrtime_t obsv = Atomic::cmpxchg(now, (volatile jlong*)&max_hrtime, prev); 1.12 assert(obsv >= prev, "invariant"); // Monotonicity