< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp
Print this page
rev 53870 : imported patch shade-shenandoah-ptrqueue
*** 125,140 ****
public:
ShenandoahTraversalSATBThreadsClosure(ShenandoahTraversalSATBBufferClosure* satb_cl) :
_satb_cl(satb_cl) {}
void do_thread(Thread* thread) {
! if (thread->is_Java_thread()) {
! JavaThread* jt = (JavaThread*)thread;
! ShenandoahThreadLocalData::satb_mark_queue(jt).apply_closure_and_empty(_satb_cl);
! } else if (thread->is_VM_thread()) {
! ShenandoahBarrierSet::satb_mark_queue_set().shared_satb_queue()->apply_closure_and_empty(_satb_cl);
! }
}
};
// Like CLDToOopClosure, but clears has_modified_oops, so that we can record modified CLDs during traversal
// and remark them later during final-traversal.
--- 125,135 ----
public:
ShenandoahTraversalSATBThreadsClosure(ShenandoahTraversalSATBBufferClosure* satb_cl) :
_satb_cl(satb_cl) {}
void do_thread(Thread* thread) {
! ShenandoahThreadLocalData::satb_mark_queue(thread).apply_closure_and_empty(_satb_cl);
}
};
// Like CLDToOopClosure, but clears has_modified_oops, so that we can record modified CLDs during traversal
// and remark them later during final-traversal.
< prev index next >