Mercurial > hg > graal-jvmci-8
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 |