ScanRSClosure(G1ParPushHeapRSClosure* oc,
               CodeBlobClosure* code_root_cl,
               uint worker_i) :
   _oc(oc),
   _code_root_cl(code_root_cl),
   _strong_code_root_scan_time_sec(0.0),
   _cards(0),
   _cards_done(0),
   _worker_i(worker_i),
   _try_claimed(false)
 {
   _g1h = G1CollectedHeap::heap();
   _bot_shared = _g1h->bot_shared();
   _ct_bs = _g1h->g1_barrier_set();
   _block_size = MAX2<int>(G1RSetScanBlockSize, 1);
 }
 UpdateRSetDeferred(G1CollectedHeap* g1, DirtyCardQueue* dcq) :
   _g1(g1), _ct_bs(_g1->g1_barrier_set()), _dcq(dcq) {}
 G1PrepareCompactClosure(CompactibleSpace* cs)
 : _g1h(G1CollectedHeap::heap()),
   _mrbs(_g1h->g1_barrier_set()),
   _cp(NULL, cs, cs->initialize_threshold()),
   _humongous_proxy_set("G1MarkSweep Humongous Proxy Set") { }
 G1PrepareCompactClosure() :
   _g1h(G1CollectedHeap::heap()),
   _mrbs(_g1h->g1_barrier_set()),
   _humongous_regions_removed() { }
 ScrubRSClosure(BitMap* region_bm, BitMap* card_bm) :
   _g1h(G1CollectedHeap::heap()),
   _region_bm(region_bm), _card_bm(card_bm),
   _ctbs(_g1h->g1_barrier_set()) {}