equal
deleted
inserted
replaced
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 } |