src/hotspot/share/gc/z/zRootsIterator.cpp
changeset 59252 623722a6aeb9
parent 58777 18c246ad2ff9
--- a/src/hotspot/share/gc/z/zRootsIterator.cpp	Mon Nov 25 12:32:40 2019 +0100
+++ b/src/hotspot/share/gc/z/zRootsIterator.cpp	Mon Nov 25 12:33:15 2019 +0100
@@ -91,7 +91,7 @@
 
 template <typename T, void (T::*F)(ZRootsIteratorClosure*)>
 void ZSerialOopsDo<T, F>::oops_do(ZRootsIteratorClosure* cl) {
-  if (!_claimed && Atomic::cmpxchg(true, &_claimed, false) == false) {
+  if (!_claimed && Atomic::cmpxchg(&_claimed, false, true) == false) {
     (_iter->*F)(cl);
   }
 }
@@ -118,7 +118,7 @@
 
 template <typename T, void (T::*F)(BoolObjectClosure*, ZRootsIteratorClosure*)>
 void ZSerialWeakOopsDo<T, F>::weak_oops_do(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl) {
-  if (!_claimed && Atomic::cmpxchg(true, &_claimed, false) == false) {
+  if (!_claimed && Atomic::cmpxchg(&_claimed, false, true) == false) {
     (_iter->*F)(is_alive, cl);
   }
 }