comparison src/share/vm/gc_implementation/g1/g1RemSet.hpp @ 626:87fa6e083d82

6760309: G1: update remembered sets during Full GCs Reviewed-by: iveresov, tonyp
author apetrusenko
date Tue, 10 Mar 2009 00:47:05 -0700
parents 4f360ec815ba
children 7bb995fbd3c0
comparison
equal deleted inserted replaced
620:bcedf688d882 626:87fa6e083d82
213 {} 213 {}
214 void do_MemRegion(MemRegion mr); 214 void do_MemRegion(MemRegion mr);
215 int n() { return _n; }; 215 int n() { return _n; };
216 HeapWord* start_first() { return _start_first; } 216 HeapWord* start_first() { return _start_first; }
217 }; 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