< prev index next >
src/hotspot/share/gc/z/zRootsIterator.cpp
Print this page
*** 89,99 ****
_iter(iter),
_claimed(false) {}
template <typename T, void (T::*F)(ZRootsIteratorClosure*)>
void ZSerialOopsDo<T, F>::oops_do(ZRootsIteratorClosure* cl) {
! if (!_claimed && Atomic::cmpxchg(true, &_claimed, false) == false) {
(_iter->*F)(cl);
}
}
template <typename T, void (T::*F)(ZRootsIteratorClosure*)>
--- 89,99 ----
_iter(iter),
_claimed(false) {}
template <typename T, void (T::*F)(ZRootsIteratorClosure*)>
void ZSerialOopsDo<T, F>::oops_do(ZRootsIteratorClosure* cl) {
! if (!_claimed && Atomic::cmpxchg(&_claimed, false, true) == false) {
(_iter->*F)(cl);
}
}
template <typename T, void (T::*F)(ZRootsIteratorClosure*)>
*** 116,126 ****
_iter(iter),
_claimed(false) {}
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) {
(_iter->*F)(is_alive, cl);
}
}
template <typename T, void (T::*F)(BoolObjectClosure*, ZRootsIteratorClosure*)>
--- 116,126 ----
_iter(iter),
_claimed(false) {}
template <typename T, void (T::*F)(BoolObjectClosure*, ZRootsIteratorClosure*)>
void ZSerialWeakOopsDo<T, F>::weak_oops_do(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl) {
! if (!_claimed && Atomic::cmpxchg(&_claimed, false, true) == false) {
(_iter->*F)(is_alive, cl);
}
}
template <typename T, void (T::*F)(BoolObjectClosure*, ZRootsIteratorClosure*)>
< prev index next >