diff -r f040cf9fc9c0 -r 752ba2e5f6d0 src/share/vm/utilities/bitMap.cpp --- a/src/share/vm/utilities/bitMap.cpp Wed Feb 19 20:12:43 2014 -0800 +++ b/src/share/vm/utilities/bitMap.cpp Tue Feb 25 15:11:18 2014 -0800 @@ -110,7 +110,7 @@ while (true) { intptr_t res = Atomic::cmpxchg_ptr(nw, pw, w); if (res == w) break; - w = *pw; + w = res; nw = value ? (w | ~mr) : (w & mr); } }