< prev index next > src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp
Print this page
_vm_roots.oops_do<T>(oops, worker_id);
}
template <typename IsAlive, typename KeepAlive>
void ShenandoahRootUpdater::roots_do(uint worker_id, IsAlive* is_alive, KeepAlive* keep_alive) {
- NMethodToOopClosure update_nmethods(keep_alive, NMethodToOopClosure::FixRelocations);
ShenandoahNMethodAndDisarmClosure nmethods_and_disarm_Cl(keep_alive);
! NMethodToOopClosure* codes_cl = ShenandoahCodeRoots::use_nmethod_barriers_for_mark() ?
- static_cast<NMethodToOopClosure*>(&nmethods_and_disarm_Cl) :
- static_cast<NMethodToOopClosure*>(&update_nmethods);
CLDToOopClosure clds(keep_alive, ClassLoaderData::_claim_strong);
// Process light-weight/limited parallel roots then
_vm_roots.oops_do(keep_alive, worker_id);
_vm_roots.oops_do<T>(oops, worker_id);
}
template <typename IsAlive, typename KeepAlive>
void ShenandoahRootUpdater::roots_do(uint worker_id, IsAlive* is_alive, KeepAlive* keep_alive) {
ShenandoahNMethodAndDisarmClosure nmethods_and_disarm_Cl(keep_alive);
! NMethodToOopClosure* codes_cl = static_cast<NMethodToOopClosure*>(&nmethods_and_disarm_Cl);
CLDToOopClosure clds(keep_alive, ClassLoaderData::_claim_strong);
// Process light-weight/limited parallel roots then
_vm_roots.oops_do(keep_alive, worker_id);
< prev index next >