8342079: Shenandoah: Remove extra ShenandoahInitMarkRootsClosure
Reviewed-by: wkemper, rkennke
This commit is contained in:
parent
9a94884e42
commit
979895d175
@ -37,33 +37,6 @@
|
||||
#include "gc/shenandoah/shenandoahSTWMark.hpp"
|
||||
#include "gc/shenandoah/shenandoahVerifier.hpp"
|
||||
|
||||
template<ShenandoahGenerationType GENERATION>
|
||||
class ShenandoahInitMarkRootsClosure : public OopClosure {
|
||||
private:
|
||||
ShenandoahObjToScanQueue* const _queue;
|
||||
ShenandoahMarkingContext* const _mark_context;
|
||||
|
||||
template <class T>
|
||||
inline void do_oop_work(T* p);
|
||||
public:
|
||||
ShenandoahInitMarkRootsClosure(ShenandoahObjToScanQueue* q);
|
||||
|
||||
void do_oop(narrowOop* p) { do_oop_work(p); }
|
||||
void do_oop(oop* p) { do_oop_work(p); }
|
||||
};
|
||||
|
||||
template <ShenandoahGenerationType GENERATION>
|
||||
ShenandoahInitMarkRootsClosure<GENERATION>::ShenandoahInitMarkRootsClosure(ShenandoahObjToScanQueue* q) :
|
||||
_queue(q),
|
||||
_mark_context(ShenandoahHeap::heap()->marking_context()) {
|
||||
}
|
||||
|
||||
template <ShenandoahGenerationType GENERATION>
|
||||
template <class T>
|
||||
void ShenandoahInitMarkRootsClosure<GENERATION>::do_oop_work(T* p) {
|
||||
ShenandoahMark::mark_through_ref<T, GENERATION>(p, _queue, _mark_context, false);
|
||||
}
|
||||
|
||||
class ShenandoahSTWMarkTask : public WorkerTask {
|
||||
private:
|
||||
ShenandoahSTWMark* const _mark;
|
||||
@ -137,8 +110,9 @@ void ShenandoahSTWMark::mark() {
|
||||
}
|
||||
|
||||
void ShenandoahSTWMark::mark_roots(uint worker_id) {
|
||||
ShenandoahInitMarkRootsClosure<NON_GEN> init_mark(task_queues()->queue(worker_id));
|
||||
_root_scanner.roots_do(&init_mark, worker_id);
|
||||
ShenandoahReferenceProcessor* rp = ShenandoahHeap::heap()->ref_processor();
|
||||
ShenandoahMarkRefsClosure<NON_GEN> cl(task_queues()->queue(worker_id), rp);
|
||||
_root_scanner.roots_do(&cl, worker_id);
|
||||
}
|
||||
|
||||
void ShenandoahSTWMark::finish_mark(uint worker_id) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user