equal
deleted
inserted
replaced
169 template <class T> void do_oop_nv(T* p); |
169 template <class T> void do_oop_nv(T* p); |
170 virtual void do_oop( oop* p) { do_oop_nv(p); } |
170 virtual void do_oop( oop* p) { do_oop_nv(p); } |
171 virtual void do_oop(narrowOop* p) { do_oop_nv(p); } |
171 virtual void do_oop(narrowOop* p) { do_oop_nv(p); } |
172 }; |
172 }; |
173 |
173 |
|
174 class G1ConcurrentRefineOopClosure: public ExtendedOopClosure { |
|
175 G1CollectedHeap* _g1; |
|
176 uint _worker_i; |
|
177 |
|
178 public: |
|
179 G1ConcurrentRefineOopClosure(G1CollectedHeap* g1h, uint worker_i) : |
|
180 _g1(g1h), |
|
181 _worker_i(worker_i) { |
|
182 } |
|
183 |
|
184 // This closure needs special handling for InstanceRefKlass. |
|
185 virtual ReferenceIterationMode reference_iteration_mode() { return DO_DISCOVERED_AND_DISCOVERY; } |
|
186 |
|
187 template <class T> void do_oop_nv(T* p); |
|
188 virtual void do_oop(narrowOop* p) { do_oop_nv(p); } |
|
189 virtual void do_oop(oop* p) { do_oop_nv(p); } |
|
190 }; |
|
191 |
174 class G1UpdateRSOrPushRefOopClosure: public ExtendedOopClosure { |
192 class G1UpdateRSOrPushRefOopClosure: public ExtendedOopClosure { |
175 G1CollectedHeap* _g1; |
193 G1CollectedHeap* _g1; |
176 HeapRegion* _from; |
194 HeapRegion* _from; |
177 G1ParPushHeapRSClosure* _push_ref_cl; |
195 G1ParPushHeapRSClosure* _push_ref_cl; |
178 bool _record_refs_into_cset; |
196 bool _record_refs_into_cset; |