< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp
Print this page
rev 55338 : 8225590: Shenandoah: Refactor ShenandoahClassLoaderDataRoots API
*** 128,141 ****
ShenandoahClassLoaderDataRoots::ShenandoahClassLoaderDataRoots() {
ClassLoaderDataGraph::clear_claimed_marks();
}
! void ShenandoahClassLoaderDataRoots::clds_do(CLDClosure* strong_clds, CLDClosure* weak_clds, uint worker_id) {
ShenandoahWorkerTimings* worker_times = ShenandoahHeap::heap()->phase_timings()->worker_times();
ShenandoahWorkerTimingsTracker timer(worker_times, ShenandoahPhaseTimings::CLDGRoots, worker_id);
! ClassLoaderDataGraph::roots_cld_do(strong_clds, weak_clds);
}
ShenandoahRootProcessor::ShenandoahRootProcessor(ShenandoahPhaseTimings::Phase phase) :
_heap(ShenandoahHeap::heap()),
_phase(phase) {
--- 128,147 ----
ShenandoahClassLoaderDataRoots::ShenandoahClassLoaderDataRoots() {
ClassLoaderDataGraph::clear_claimed_marks();
}
! void ShenandoahClassLoaderDataRoots::always_strong_cld_do(CLDClosure* clds, uint worker_id) {
ShenandoahWorkerTimings* worker_times = ShenandoahHeap::heap()->phase_timings()->worker_times();
ShenandoahWorkerTimingsTracker timer(worker_times, ShenandoahPhaseTimings::CLDGRoots, worker_id);
! ClassLoaderDataGraph::always_strong_cld_do(clds);
! }
!
! void ShenandoahClassLoaderDataRoots::cld_do(CLDClosure* clds, uint worker_id) {
! ShenandoahWorkerTimings* worker_times = ShenandoahHeap::heap()->phase_timings()->worker_times();
! ShenandoahWorkerTimingsTracker timer(worker_times, ShenandoahPhaseTimings::CLDGRoots, worker_id);
! ClassLoaderDataGraph::cld_do(clds);
}
ShenandoahRootProcessor::ShenandoahRootProcessor(ShenandoahPhaseTimings::Phase phase) :
_heap(ShenandoahHeap::heap()),
_phase(phase) {
*** 163,173 ****
_serial_roots.oops_do(oops, worker_id);
_jni_roots.oops_do(oops, worker_id);
_thread_roots.oops_do(oops, NULL, worker_id);
! _cld_roots.clds_do(&clds, &clds, worker_id);
_code_roots.code_blobs_do(&blobsCl, worker_id);
_weak_roots.oops_do<AlwaysTrueClosure, OopClosure>(&always_true, oops, worker_id);
_dedup_roots.oops_do(&always_true, oops, worker_id);
}
--- 169,179 ----
_serial_roots.oops_do(oops, worker_id);
_jni_roots.oops_do(oops, worker_id);
_thread_roots.oops_do(oops, NULL, worker_id);
! _cld_roots.cld_do(&clds, worker_id);
_code_roots.code_blobs_do(&blobsCl, worker_id);
_weak_roots.oops_do<AlwaysTrueClosure, OopClosure>(&always_true, oops, worker_id);
_dedup_roots.oops_do(&always_true, oops, worker_id);
}
*** 193,203 ****
_serial_roots.oops_do(oops, worker_id);
_jni_roots.oops_do(oops, worker_id);
_thread_roots.oops_do(oops, NULL, worker_id);
! _cld_roots.clds_do(&adjust_cld_closure, NULL, worker_id);
_code_roots.code_blobs_do(&adjust_code_closure, worker_id);
_weak_roots.oops_do<AlwaysTrueClosure, OopClosure>(&always_true, oops, worker_id);
_dedup_roots.oops_do(&always_true, oops, worker_id);
}
--- 199,209 ----
_serial_roots.oops_do(oops, worker_id);
_jni_roots.oops_do(oops, worker_id);
_thread_roots.oops_do(oops, NULL, worker_id);
! _cld_roots.cld_do(&adjust_cld_closure, worker_id);
_code_roots.code_blobs_do(&adjust_code_closure, worker_id);
_weak_roots.oops_do<AlwaysTrueClosure, OopClosure>(&always_true, oops, worker_id);
_dedup_roots.oops_do(&always_true, oops, worker_id);
}
< prev index next >