< prev index next >
src/hotspot/share/gc/z/zMark.cpp
Print this page
*** 198,208 ****
_nproactiveflush += _work_nproactiveflush;
_nterminateflush += _work_nterminateflush;
}
bool ZMark::is_array(uintptr_t addr) const {
! return ZOop::from_address(addr)->is_objArray();
}
void ZMark::push_partial_array(uintptr_t addr, size_t size, bool finalizable) {
assert(is_aligned(addr, ZMarkPartialArrayMinSize), "Address misaligned");
ZMarkThreadLocalStacks* const stacks = ZThreadLocalData::stacks(Thread::current());
--- 198,208 ----
_nproactiveflush += _work_nproactiveflush;
_nterminateflush += _work_nterminateflush;
}
bool ZMark::is_array(uintptr_t addr) const {
! return ZOop::to_oop(addr)->is_objArray();
}
void ZMark::push_partial_array(uintptr_t addr, size_t size, bool finalizable) {
assert(is_aligned(addr, ZMarkPartialArrayMinSize), "Address misaligned");
ZMarkThreadLocalStacks* const stacks = ZThreadLocalData::stacks(Thread::current());
*** 345,357 ****
// Already marked
return;
}
if (is_array(addr)) {
! follow_array_object(objArrayOop(ZOop::from_address(addr)), finalizable);
} else {
! follow_object(ZOop::from_address(addr), finalizable);
}
}
template <typename T>
bool ZMark::drain(ZMarkStripe* stripe, ZMarkThreadLocalStacks* stacks, ZMarkCache* cache, T* timeout) {
--- 345,357 ----
// Already marked
return;
}
if (is_array(addr)) {
! follow_array_object(objArrayOop(ZOop::to_oop(addr)), finalizable);
} else {
! follow_object(ZOop::to_oop(addr), finalizable);
}
}
template <typename T>
bool ZMark::drain(ZMarkStripe* stripe, ZMarkThreadLocalStacks* stacks, ZMarkCache* cache, T* timeout) {
< prev index next >