237 |
237 |
238 class G1UpdateRSOrPushRefOopClosure: public ExtendedOopClosure { |
238 class G1UpdateRSOrPushRefOopClosure: public ExtendedOopClosure { |
239 G1CollectedHeap* _g1; |
239 G1CollectedHeap* _g1; |
240 G1RemSet* _g1_rem_set; |
240 G1RemSet* _g1_rem_set; |
241 HeapRegion* _from; |
241 HeapRegion* _from; |
242 OopsInHeapRegionClosure* _push_ref_cl; |
242 G1ParPushHeapRSClosure* _push_ref_cl; |
243 bool _record_refs_into_cset; |
243 bool _record_refs_into_cset; |
244 uint _worker_i; |
244 uint _worker_i; |
245 |
245 |
246 public: |
246 public: |
247 G1UpdateRSOrPushRefOopClosure(G1CollectedHeap* g1h, |
247 G1UpdateRSOrPushRefOopClosure(G1CollectedHeap* g1h, |
248 G1RemSet* rs, |
248 G1RemSet* rs, |
249 OopsInHeapRegionClosure* push_ref_cl, |
249 G1ParPushHeapRSClosure* push_ref_cl, |
250 bool record_refs_into_cset, |
250 bool record_refs_into_cset, |
251 uint worker_i = 0); |
251 uint worker_i = 0); |
252 |
252 |
253 void set_from(HeapRegion* from) { |
253 void set_from(HeapRegion* from) { |
254 assert(from != NULL, "from region must be non-NULL"); |
254 assert(from != NULL, "from region must be non-NULL"); |