Accesses to volatile longs don't work in the 64-bit interpreter, and, by
extension, the 64-bit vm.
Run the attached program using
java -sd64 -server -Xint AtomicLong
and get the following output
Saw 400000008
temp1 4
temp2 8
Saw 200000007
temp1 2
temp2 7
Saw 700000001
temp1 7
temp2 1
Saw 100000009
temp1 1
temp2 9
Saw 100000007
temp1 1
temp2 7
Saw 700000004
temp1 7
temp2 4
Saw 100000007
temp1 1
temp2 7
Saw 400000007
temp1 4
temp2 7
There shouldn't be any output at all.
extension, the 64-bit vm.
Run the attached program using
java -sd64 -server -Xint AtomicLong
and get the following output
Saw 400000008
temp1 4
temp2 8
Saw 200000007
temp1 2
temp2 7
Saw 700000001
temp1 7
temp2 1
Saw 100000009
temp1 1
temp2 9
Saw 100000007
temp1 1
temp2 7
Saw 700000004
temp1 7
temp2 4
Saw 100000007
temp1 1
temp2 7
Saw 400000007
temp1 4
temp2 7
There shouldn't be any output at all.
- relates to
-
JDK-4526490 volatile long variable integrity is corrupted on Solx86 on dual-CPU machine
- Closed