Exemple #1
0
 // use_prev_marking == true  -> use "prev" marking information,
 // use_prev_marking == false -> use "next" marking information
 VerifyLiveClosure(G1CollectedHeap* g1h, bool use_prev_marking) :
   _g1h(g1h), _bs(NULL), _containing_obj(NULL),
   _failures(false), _n_failures(0), _use_prev_marking(use_prev_marking)
 {
   BarrierSet* bs = _g1h->barrier_set();
   if (bs->is_a(BarrierSet::CardTableModRef))
     _bs = (CardTableModRefBS*)bs;
 }
 // _vo == UsePrevMarking -> use "prev" marking information,
 // _vo == UseNextMarking -> use "next" marking information,
 // _vo == UseMarkWord    -> use mark word from object header.
 VerifyLiveClosure(G1CollectedHeap* g1h, VerifyOption vo) :
   _g1h(g1h), _bs(NULL), _containing_obj(NULL),
   _failures(false), _n_failures(0), _vo(vo)
 {
   BarrierSet* bs = _g1h->barrier_set();
   if (bs->is_a(BarrierSet::CardTableModRef))
     _bs = (CardTableModRefBS*)bs;
 }
Exemple #3
0
 ScanRSClosure(OopsInHeapRegionClosure* oc, int worker_i) :
   _oc(oc),
   _cards(0),
   _cards_done(0),
   _worker_i(worker_i),
   _try_claimed(false)
 {
   _g1h = G1CollectedHeap::heap();
   _bot_shared = _g1h->bot_shared();
   _ct_bs = (CardTableModRefBS*) (_g1h->barrier_set());
   _block_size = MAX2<int>(G1RSetScanBlockSize, 1);
 }
Exemple #4
0
 UpdateRSetOopsIntoCSDeferred(G1CollectedHeap* g1, DirtyCardQueue* dcq) :
   _g1(g1), _ct_bs((CardTableModRefBS*)_g1->barrier_set()), _dcq(dcq) { }