Skip to content

Commit

Permalink
Fix
Browse files Browse the repository at this point in the history
  • Loading branch information
shipilev committed Oct 14, 2024
1 parent dcac4b0 commit 54a24ee
Showing 1 changed file with 3 additions and 29 deletions.
32 changes: 3 additions & 29 deletions src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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) {
Expand Down

0 comments on commit 54a24ee

Please sign in to comment.