< prev index next >

src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp

Print this page
rev 7807 : [mq]: bcast

*** 31,42 **** #include "runtime/atomic.inline.hpp" #include "runtime/mutexLocker.hpp" #include "runtime/orderAccess.inline.hpp" #include "runtime/thread.inline.hpp" ! G1SATBCardTableModRefBS::G1SATBCardTableModRefBS(MemRegion whole_heap, BarrierSet::Name kind) : ! CardTableModRefBS(whole_heap, kind) { } void G1SATBCardTableModRefBS::enqueue(oop pre_val) { // Nulls should have been already filtered. assert(pre_val->is_oop(true), "Error"); --- 31,45 ---- #include "runtime/atomic.inline.hpp" #include "runtime/mutexLocker.hpp" #include "runtime/orderAccess.inline.hpp" #include "runtime/thread.inline.hpp" ! G1SATBCardTableModRefBS::G1SATBCardTableModRefBS( ! MemRegion whole_heap, ! const BarrierSet::FakeRtti& fake_rtti) : ! CardTableModRefBS(whole_heap, fake_rtti.add_tag(BarrierSet::G1SATBCT)) ! { } void G1SATBCardTableModRefBS::enqueue(oop pre_val) { // Nulls should have been already filtered. assert(pre_val->is_oop(true), "Error");
*** 128,138 **** _card_table->clear(mr); } G1SATBCardTableLoggingModRefBS:: G1SATBCardTableLoggingModRefBS(MemRegion whole_heap) : ! G1SATBCardTableModRefBS(whole_heap, BarrierSet::G1SATBCTLogging), _dcqs(JavaThread::dirty_card_queue_set()), _listener() { _listener.set_card_table(this); } --- 131,141 ---- _card_table->clear(mr); } G1SATBCardTableLoggingModRefBS:: G1SATBCardTableLoggingModRefBS(MemRegion whole_heap) : ! G1SATBCardTableModRefBS(whole_heap, BarrierSet::FakeRtti(G1SATBCTLogging)), _dcqs(JavaThread::dirty_card_queue_set()), _listener() { _listener.set_card_table(this); }
*** 201,211 **** comb = comb >> HeapRegion::LogOfHRGrainBytes; if (comb == 0) return; if (new_val == NULL) return; // Otherwise, log it. G1SATBCardTableLoggingModRefBS* g1_bs = ! (G1SATBCardTableLoggingModRefBS*)Universe::heap()->barrier_set(); g1_bs->write_ref_field_work(field, new_val); } void G1SATBCardTableLoggingModRefBS::invalidate(MemRegion mr, bool whole_heap) { --- 204,214 ---- comb = comb >> HeapRegion::LogOfHRGrainBytes; if (comb == 0) return; if (new_val == NULL) return; // Otherwise, log it. G1SATBCardTableLoggingModRefBS* g1_bs = ! barrier_set_cast<G1SATBCardTableLoggingModRefBS>(Universe::heap()->barrier_set()); g1_bs->write_ref_field_work(field, new_val); } void G1SATBCardTableLoggingModRefBS::invalidate(MemRegion mr, bool whole_heap) {
< prev index next >