< prev index next >

src/hotspot/share/gc/z/zMark.cpp

Print this page

        

*** 117,126 **** --- 117,131 ---- } } } class ZMarkRootsIteratorClosure : public ZRootsIteratorClosure { + private: + static void fixup_address(HeapWord** p) { + *p = (HeapWord*)ZAddress::good_or_null((uintptr_t)*p); + } + public: ZMarkRootsIteratorClosure() { ZStatTLAB::reset(); }
*** 134,143 **** --- 139,149 ---- // Update thread local address bad mask ZThreadLocalData::set_address_bad_mask(thread, ZAddressBadMask); // Retire TLAB if (UseTLAB && thread->is_Java_thread()) { + thread->tlab().addresses_do(fixup_address); thread->tlab().retire(ZStatTLAB::get()); thread->tlab().resize(); } }
< prev index next >