equal
deleted
inserted
replaced
125 public: |
125 public: |
126 ShenandoahTraversalSATBThreadsClosure(ShenandoahTraversalSATBBufferClosure* satb_cl) : |
126 ShenandoahTraversalSATBThreadsClosure(ShenandoahTraversalSATBBufferClosure* satb_cl) : |
127 _satb_cl(satb_cl) {} |
127 _satb_cl(satb_cl) {} |
128 |
128 |
129 void do_thread(Thread* thread) { |
129 void do_thread(Thread* thread) { |
130 if (thread->is_Java_thread()) { |
130 ShenandoahThreadLocalData::satb_mark_queue(thread).apply_closure_and_empty(_satb_cl); |
131 JavaThread* jt = (JavaThread*)thread; |
|
132 ShenandoahThreadLocalData::satb_mark_queue(jt).apply_closure_and_empty(_satb_cl); |
|
133 } else if (thread->is_VM_thread()) { |
|
134 ShenandoahBarrierSet::satb_mark_queue_set().shared_satb_queue()->apply_closure_and_empty(_satb_cl); |
|
135 } |
|
136 } |
131 } |
137 }; |
132 }; |
138 |
133 |
139 // Like CLDToOopClosure, but clears has_modified_oops, so that we can record modified CLDs during traversal |
134 // Like CLDToOopClosure, but clears has_modified_oops, so that we can record modified CLDs during traversal |
140 // and remark them later during final-traversal. |
135 // and remark them later during final-traversal. |