void MarkSweep::adjust_marks() { assert( _preserved_oop_stack.size() == _preserved_mark_stack.size(), "inconsistent preserved oop stacks"); // adjust the oops we saved earlier for (size_t i = 0; i < _preserved_count; i++) { _preserved_marks[i].adjust_pointer(); } // deal with the overflow stack StackIterator<oop, mtGC> iter(_preserved_oop_stack); while (!iter.is_empty()) { oop* p = iter.next_addr(); adjust_pointer(p); } }
void MarkSweep::adjust_marks() { assert(_preserved_oop_stack == NULL || _preserved_oop_stack->length() == _preserved_mark_stack->length(), "inconsistent preserved oop stacks"); // adjust the oops we saved earlier for (size_t i = 0; i < _preserved_count; i++) { _preserved_marks[i].adjust_pointer(); } // deal with the overflow stack if (_preserved_oop_stack) { for (int i = 0; i < _preserved_oop_stack->length(); i++) { oop* p = _preserved_oop_stack->adr_at(i); adjust_pointer(p); } } }
void MarkSweep::AdjustPointerClosure::do_oop(narrowOop* p) { adjust_pointer(p); }
void MarkSweep::AdjustPointerClosure::do_oop(oop* p) { adjust_pointer(p, _is_root); }
void PSParallelCompact::AdjustPointerClosure::do_oop_nv(T* p) { adjust_pointer(p, _cm); }