< prev index next >
src/hotspot/share/gc/serial/serialHeap.cpp
Print this page
*** 88,113 ****
memory_pools.append(_old_pool);
return memory_pools;
}
void SerialHeap::young_process_roots(StrongRootsScope* scope,
! OopsInGenClosure* root_closure,
! OopsInGenClosure* old_gen_closure,
CLDClosure* cld_closure) {
MarkingCodeBlobClosure mark_code_closure(root_closure, CodeBlobToOopClosure::FixRelocations);
process_roots(scope, SO_ScavengeCodeCache, root_closure,
cld_closure, cld_closure, &mark_code_closure);
if (_process_strong_tasks->try_claim_task(GCH_PS_younger_gens)) {
! root_closure->reset_generation();
}
// When collection is parallel, all threads get to cooperate to do
// old generation scanning.
- old_gen_closure->set_generation(_old_gen);
rem_set()->at_younger_refs_iterate();
old_gen()->younger_refs_iterate(old_gen_closure, scope->n_threads());
- old_gen_closure->reset_generation();
_process_strong_tasks->all_tasks_completed(scope->n_threads());
}
--- 88,111 ----
memory_pools.append(_old_pool);
return memory_pools;
}
void SerialHeap::young_process_roots(StrongRootsScope* scope,
! OopIterateClosure* root_closure,
! OopIterateClosure* old_gen_closure,
CLDClosure* cld_closure) {
MarkingCodeBlobClosure mark_code_closure(root_closure, CodeBlobToOopClosure::FixRelocations);
process_roots(scope, SO_ScavengeCodeCache, root_closure,
cld_closure, cld_closure, &mark_code_closure);
if (_process_strong_tasks->try_claim_task(GCH_PS_younger_gens)) {
!
}
// When collection is parallel, all threads get to cooperate to do
// old generation scanning.
rem_set()->at_younger_refs_iterate();
old_gen()->younger_refs_iterate(old_gen_closure, scope->n_threads());
_process_strong_tasks->all_tasks_completed(scope->n_threads());
}
< prev index next >