Mercurial > hg > graal-compiler
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 |