comparison src/share/vm/gc_implementation/g1/g1RemSet.hpp @ 628:7bb995fbd3c0

Merge
author trims
date Thu, 12 Mar 2009 18:16:36 -0700
parents 0fbdb4381b99 87fa6e083d82
children 315a5d70b295
comparison
equal deleted inserted replaced
580:ce2272390558 628:7bb995fbd3c0
153 // progress. If so, then cards added to remembered sets should also have 153 // progress. If so, then cards added to remembered sets should also have
154 // their references into the collection summarized in "_new_refs". 154 // their references into the collection summarized in "_new_refs".
155 bool _par_traversal_in_progress; 155 bool _par_traversal_in_progress;
156 void set_par_traversal(bool b); 156 void set_par_traversal(bool b);
157 GrowableArray<oop*>** _new_refs; 157 GrowableArray<oop*>** _new_refs;
158 void new_refs_iterate(OopClosure* cl);
158 159
159 public: 160 public:
160 // This is called to reset dual hash tables after the gc pause 161 // This is called to reset dual hash tables after the gc pause
161 // is finished and the initial hash table is no longer being 162 // is finished and the initial hash table is no longer being
162 // scanned. 163 // scanned.
212 {} 213 {}
213 void do_MemRegion(MemRegion mr); 214 void do_MemRegion(MemRegion mr);
214 int n() { return _n; }; 215 int n() { return _n; };
215 HeapWord* start_first() { return _start_first; } 216 HeapWord* start_first() { return _start_first; }
216 }; 217 };
218
219 class UpdateRSOopClosure: public OopClosure {
220 HeapRegion* _from;
221 HRInto_G1RemSet* _rs;
222 int _worker_i;
223 public:
224 UpdateRSOopClosure(HRInto_G1RemSet* rs, int worker_i = 0) :
225 _from(NULL), _rs(rs), _worker_i(worker_i) {
226 guarantee(_rs != NULL, "Requires an HRIntoG1RemSet");
227 }
228
229 void set_from(HeapRegion* from) {
230 assert(from != NULL, "from region must be non-NULL");
231 _from = from;
232 }
233
234 virtual void do_oop(narrowOop* p);
235 virtual void do_oop(oop* p);
236
237 // Override: this closure is idempotent.
238 // bool idempotent() { return true; }
239 bool apply_to_weak_ref_discovered_field() { return true; }
240 };
241