< prev index next > src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp
Print this page
assert(ShenandoahHeap::heap()->is_full_gc_in_progress(), "Full GC only");
}
void ShenandoahRootAdjuster::roots_do(uint worker_id, OopClosure* oops) {
NMethodToOopClosure code_blob_cl(oops, NMethodToOopClosure::FixRelocations);
- ShenandoahNMethodAndDisarmClosure nmethods_and_disarm_Cl(oops);
CLDToOopClosure adjust_cld_closure(oops, ClassLoaderData::_claim_strong);
// Process light-weight/limited parallel roots then
_vm_roots.oops_do(oops, worker_id);
_weak_roots.oops_do<OopClosure>(oops, worker_id);
_cld_roots.cld_do(&adjust_cld_closure, worker_id);
// Process heavy-weight/fully parallel roots the last
- _code_roots.nmethods_do(&nmethods_and_disarm_Cl, worker_id);
+ _code_roots.nmethods_do(&code_blob_cl, worker_id);
_thread_roots.oops_do(oops, nullptr, worker_id);
}
ShenandoahHeapIterationRootScanner::ShenandoahHeapIterationRootScanner(uint n_workers) :
ShenandoahRootProcessor(ShenandoahPhaseTimings::heap_iteration_roots),
< prev index next >