src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp
changeset 54006 a421bdf22394
parent 53383 5dc89efc08f0
child 54338 7a34a3270270
equal deleted inserted replaced
54005:6ffb8d7fe1e4 54006:a421bdf22394
   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.