Skip to content

Commit 9adbf15

Browse files
committed
8265995: Shenandoah: Move ShenandoahInitMarkRootsClosure close to its use
Reviewed-by: shade
1 parent 879a77f commit 9adbf15

File tree

4 files changed

+24
-25
lines changed

4 files changed

+24
-25
lines changed

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,6 @@ ShenandoahMarkRefsSuperClosure::ShenandoahMarkRefsSuperClosure(ShenandoahObjToSc
4141
_weak(false)
4242
{ }
4343

44-
ShenandoahInitMarkRootsClosure::ShenandoahInitMarkRootsClosure(ShenandoahObjToScanQueue* q) :
45-
_queue(q),
46-
_mark_context(ShenandoahHeap::heap()->marking_context()) {
47-
}
48-
4944
ShenandoahMark::ShenandoahMark() :
5045
_task_queues(ShenandoahHeap::heap()->marking_context()->task_queues()) {
5146
}

src/hotspot/share/gc/shenandoah/shenandoahMark.hpp

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,21 +31,6 @@
3131

3232
class ShenandoahCMDrainMarkingStackClosure;
3333

34-
class ShenandoahInitMarkRootsClosure : public OopClosure {
35-
private:
36-
ShenandoahObjToScanQueue* const _queue;
37-
ShenandoahMarkingContext* const _mark_context;
38-
39-
template <class T>
40-
inline void do_oop_work(T* p);
41-
42-
public:
43-
ShenandoahInitMarkRootsClosure(ShenandoahObjToScanQueue* q);
44-
45-
void do_oop(narrowOop* p) { do_oop_work(p); }
46-
void do_oop(oop* p) { do_oop_work(p); }
47-
};
48-
4934
// Base class for mark
5035
// Mark class does not maintain states. Instead, mark states are
5136
// maintained by task queues, mark bitmap and SATB buffers (concurrent mark)

src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,6 @@
3939
#include "runtime/prefetch.inline.hpp"
4040
#include "utilities/powerOfTwo.hpp"
4141

42-
template <class T>
43-
void ShenandoahInitMarkRootsClosure::do_oop_work(T* p) {
44-
ShenandoahMark::mark_through_ref<T, NO_DEDUP>(p, _queue, _mark_context, false);
45-
}
46-
4742
template <class T>
4843
void ShenandoahMark::do_task(ShenandoahObjToScanQueue* q, T* cl, ShenandoahLiveData* live_data, ShenandoahMarkTask* task) {
4944
oop obj = task->obj();

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

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,30 @@
3636
#include "gc/shenandoah/shenandoahSTWMark.hpp"
3737
#include "gc/shenandoah/shenandoahVerifier.hpp"
3838

39+
class ShenandoahInitMarkRootsClosure : public OopClosure {
40+
private:
41+
ShenandoahObjToScanQueue* const _queue;
42+
ShenandoahMarkingContext* const _mark_context;
43+
44+
template <class T>
45+
inline void do_oop_work(T* p);
46+
public:
47+
ShenandoahInitMarkRootsClosure(ShenandoahObjToScanQueue* q);
48+
49+
void do_oop(narrowOop* p) { do_oop_work(p); }
50+
void do_oop(oop* p) { do_oop_work(p); }
51+
};
52+
53+
ShenandoahInitMarkRootsClosure::ShenandoahInitMarkRootsClosure(ShenandoahObjToScanQueue* q) :
54+
_queue(q),
55+
_mark_context(ShenandoahHeap::heap()->marking_context()) {
56+
}
57+
58+
template <class T>
59+
void ShenandoahInitMarkRootsClosure::do_oop_work(T* p) {
60+
ShenandoahMark::mark_through_ref<T, NO_DEDUP>(p, _queue, _mark_context, false);
61+
}
62+
3963
class ShenandoahSTWMarkTask : public AbstractGangTask {
4064
private:
4165
ShenandoahSTWMark* const _mark;

0 commit comments

Comments
 (0)