src/hotspot/share/gc/g1/g1BarrierSet.cpp
changeset 49455 848864ed9b17
parent 49347 edb65305d3ac
child 49484 ee8fa73b90f9
equal deleted inserted replaced
49454:689ebcfe04fd 49455:848864ed9b17
    32 #include "oops/oop.inline.hpp"
    32 #include "oops/oop.inline.hpp"
    33 #include "runtime/mutexLocker.hpp"
    33 #include "runtime/mutexLocker.hpp"
    34 #include "runtime/thread.inline.hpp"
    34 #include "runtime/thread.inline.hpp"
    35 
    35 
    36 G1BarrierSet::G1BarrierSet(G1CardTable* card_table) :
    36 G1BarrierSet::G1BarrierSet(G1CardTable* card_table) :
    37   CardTableModRefBS(card_table, BarrierSet::FakeRtti(BarrierSet::G1BarrierSet)),
    37   CardTableBarrierSet(card_table, BarrierSet::FakeRtti(BarrierSet::G1BarrierSet)),
    38   _dcqs(JavaThread::dirty_card_queue_set())
    38   _dcqs(JavaThread::dirty_card_queue_set())
    39 { }
    39 { }
    40 
    40 
    41 void G1BarrierSet::enqueue(oop pre_val) {
    41 void G1BarrierSet::enqueue(oop pre_val) {
    42   // Nulls should have been already filtered.
    42   // Nulls should have been already filtered.
   165   }
   165   }
   166 }
   166 }
   167 
   167 
   168 void G1BarrierSet::on_thread_detach(JavaThread* thread) {
   168 void G1BarrierSet::on_thread_detach(JavaThread* thread) {
   169   // Flush any deferred card marks, SATB buffers and dirty card queue buffers
   169   // Flush any deferred card marks, SATB buffers and dirty card queue buffers
   170   CardTableModRefBS::on_thread_detach(thread);
   170   CardTableBarrierSet::on_thread_detach(thread);
   171   thread->satb_mark_queue().flush();
   171   thread->satb_mark_queue().flush();
   172   thread->dirty_card_queue().flush();
   172   thread->dirty_card_queue().flush();
   173 }
   173 }