equal
deleted
inserted
replaced
107 |
107 |
108 OopsInHeapRegionClosure* _oc; |
108 OopsInHeapRegionClosure* _oc; |
109 CodeBlobToOopClosure* _code_root_cl; |
109 CodeBlobToOopClosure* _code_root_cl; |
110 |
110 |
111 G1BlockOffsetSharedArray* _bot_shared; |
111 G1BlockOffsetSharedArray* _bot_shared; |
112 CardTableModRefBS *_ct_bs; |
112 G1SATBCardTableModRefBS *_ct_bs; |
113 |
113 |
114 double _strong_code_root_scan_time_sec; |
114 double _strong_code_root_scan_time_sec; |
115 int _worker_i; |
115 int _worker_i; |
116 int _block_size; |
116 int _block_size; |
117 bool _try_claimed; |
117 bool _try_claimed; |
128 _worker_i(worker_i), |
128 _worker_i(worker_i), |
129 _try_claimed(false) |
129 _try_claimed(false) |
130 { |
130 { |
131 _g1h = G1CollectedHeap::heap(); |
131 _g1h = G1CollectedHeap::heap(); |
132 _bot_shared = _g1h->bot_shared(); |
132 _bot_shared = _g1h->bot_shared(); |
133 _ct_bs = (CardTableModRefBS*) (_g1h->barrier_set()); |
133 _ct_bs = _g1h->g1_barrier_set(); |
134 _block_size = MAX2<int>(G1RSetScanBlockSize, 1); |
134 _block_size = MAX2<int>(G1RSetScanBlockSize, 1); |
135 } |
135 } |
136 |
136 |
137 void set_try_claimed() { _try_claimed = true; } |
137 void set_try_claimed() { _try_claimed = true; } |
138 |
138 |
503 CardTableModRefBS* _ctbs; |
503 CardTableModRefBS* _ctbs; |
504 public: |
504 public: |
505 ScrubRSClosure(BitMap* region_bm, BitMap* card_bm) : |
505 ScrubRSClosure(BitMap* region_bm, BitMap* card_bm) : |
506 _g1h(G1CollectedHeap::heap()), |
506 _g1h(G1CollectedHeap::heap()), |
507 _region_bm(region_bm), _card_bm(card_bm), |
507 _region_bm(region_bm), _card_bm(card_bm), |
508 _ctbs(NULL) |
508 _ctbs(_g1h->g1_barrier_set()) {} |
509 { |
|
510 ModRefBarrierSet* bs = _g1h->mr_bs(); |
|
511 guarantee(bs->is_a(BarrierSet::CardTableModRef), "Precondition"); |
|
512 _ctbs = (CardTableModRefBS*)bs; |
|
513 } |
|
514 |
509 |
515 bool doHeapRegion(HeapRegion* r) { |
510 bool doHeapRegion(HeapRegion* r) { |
516 if (!r->continuesHumongous()) { |
511 if (!r->continuesHumongous()) { |
517 r->rem_set()->scrub(_ctbs, _region_bm, _card_bm); |
512 r->rem_set()->scrub(_ctbs, _region_bm, _card_bm); |
518 } |
513 } |