< prev index next >
src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp
Print this page
rev 7318 : 8064721: The card tables only ever need two covering regions
*** 30,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,
! int max_covered_regions) :
! CardTableModRefBSForCTRS(whole_heap, max_covered_regions)
{
_kind = G1SATBCT;
}
void G1SATBCardTableModRefBS::enqueue(oop pre_val) {
--- 30,41 ----
#include "runtime/atomic.inline.hpp"
#include "runtime/mutexLocker.hpp"
#include "runtime/orderAccess.inline.hpp"
#include "runtime/thread.inline.hpp"
! G1SATBCardTableModRefBS::G1SATBCardTableModRefBS(MemRegion whole_heap) :
! CardTableModRefBSForCTRS(whole_heap)
{
_kind = G1SATBCT;
}
void G1SATBCardTableModRefBS::enqueue(oop pre_val) {
*** 130,142 ****
MemRegion mr(G1CollectedHeap::heap()->bottom_addr_for_region(start_idx), num_regions * HeapRegion::GrainWords);
_card_table->clear(mr);
}
G1SATBCardTableLoggingModRefBS::
! G1SATBCardTableLoggingModRefBS(MemRegion whole_heap,
! int max_covered_regions) :
! G1SATBCardTableModRefBS(whole_heap, max_covered_regions),
_dcqs(JavaThread::dirty_card_queue_set()),
_listener()
{
_kind = G1SATBCTLogging;
_listener.set_card_table(this);
--- 129,140 ----
MemRegion mr(G1CollectedHeap::heap()->bottom_addr_for_region(start_idx), num_regions * HeapRegion::GrainWords);
_card_table->clear(mr);
}
G1SATBCardTableLoggingModRefBS::
! G1SATBCardTableLoggingModRefBS(MemRegion whole_heap) :
! G1SATBCardTableModRefBS(whole_heap),
_dcqs(JavaThread::dirty_card_queue_set()),
_listener()
{
_kind = G1SATBCTLogging;
_listener.set_card_table(this);
< prev index next >