void WeakArrayRegister::check_and_follow_contents() { mark_sweep_check_for_dying_objects(); follow_contents(); during_registration = false; weakArrays = NULL; nis = NULL; }
void ParCompactionManager::follow_marking_stacks() { do { // Drain the overflow stack first, to allow stealing from the marking stack. oop obj; while (marking_stack()->pop_overflow(obj)) { follow_contents(obj); } while (marking_stack()->pop_local(obj)) { follow_contents(obj); } // Process ObjArrays one at a time to avoid marking stack bloat. ObjArrayTask task; if (_objarray_stack.pop_overflow(task) || _objarray_stack.pop_local(task)) { follow_contents((objArrayOop)task.obj(), task.index()); } } while (!marking_stacks_empty()); assert(marking_stacks_empty(), "Sanity"); }