Skip to content

Commit 979895d

Browse files
committed
8342079: Shenandoah: Remove extra ShenandoahInitMarkRootsClosure
Reviewed-by: wkemper, rkennke
1 parent 9a94884 commit 979895d

File tree

1 file changed

+3
-29
lines changed

1 file changed

+3
-29
lines changed

src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp

Lines changed: 3 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -37,33 +37,6 @@
3737
#include "gc/shenandoah/shenandoahSTWMark.hpp"
3838
#include "gc/shenandoah/shenandoahVerifier.hpp"
3939

40-
template<ShenandoahGenerationType GENERATION>
41-
class ShenandoahInitMarkRootsClosure : public OopClosure {
42-
private:
43-
ShenandoahObjToScanQueue* const _queue;
44-
ShenandoahMarkingContext* const _mark_context;
45-
46-
template <class T>
47-
inline void do_oop_work(T* p);
48-
public:
49-
ShenandoahInitMarkRootsClosure(ShenandoahObjToScanQueue* q);
50-
51-
void do_oop(narrowOop* p) { do_oop_work(p); }
52-
void do_oop(oop* p) { do_oop_work(p); }
53-
};
54-
55-
template <ShenandoahGenerationType GENERATION>
56-
ShenandoahInitMarkRootsClosure<GENERATION>::ShenandoahInitMarkRootsClosure(ShenandoahObjToScanQueue* q) :
57-
_queue(q),
58-
_mark_context(ShenandoahHeap::heap()->marking_context()) {
59-
}
60-
61-
template <ShenandoahGenerationType GENERATION>
62-
template <class T>
63-
void ShenandoahInitMarkRootsClosure<GENERATION>::do_oop_work(T* p) {
64-
ShenandoahMark::mark_through_ref<T, GENERATION>(p, _queue, _mark_context, false);
65-
}
66-
6740
class ShenandoahSTWMarkTask : public WorkerTask {
6841
private:
6942
ShenandoahSTWMark* const _mark;
@@ -137,8 +110,9 @@ void ShenandoahSTWMark::mark() {
137110
}
138111

139112
void ShenandoahSTWMark::mark_roots(uint worker_id) {
140-
ShenandoahInitMarkRootsClosure<NON_GEN> init_mark(task_queues()->queue(worker_id));
141-
_root_scanner.roots_do(&init_mark, worker_id);
113+
ShenandoahReferenceProcessor* rp = ShenandoahHeap::heap()->ref_processor();
114+
ShenandoahMarkRefsClosure<NON_GEN> cl(task_queues()->queue(worker_id), rp);
115+
_root_scanner.roots_do(&cl, worker_id);
142116
}
143117

144118
void ShenandoahSTWMark::finish_mark(uint worker_id) {

0 commit comments

Comments
 (0)