equal
deleted
inserted
replaced
227 |
227 |
228 volatile bool _scan_in_progress; |
228 volatile bool _scan_in_progress; |
229 volatile bool _should_abort; |
229 volatile bool _should_abort; |
230 HeapRegion* volatile _next_survivor; |
230 HeapRegion* volatile _next_survivor; |
231 |
231 |
|
232 void notify_scan_done(); |
|
233 |
232 public: |
234 public: |
233 G1CMRootRegions(); |
235 G1CMRootRegions(); |
234 // We actually do most of the initialization in this method. |
236 // We actually do most of the initialization in this method. |
235 void init(G1CollectedHeap* g1h, G1ConcurrentMark* cm); |
237 void init(G1CollectedHeap* g1h, G1ConcurrentMark* cm); |
236 |
238 |
245 bool scan_in_progress() { return _scan_in_progress; } |
247 bool scan_in_progress() { return _scan_in_progress; } |
246 |
248 |
247 // Claim the next root region to scan atomically, or return NULL if |
249 // Claim the next root region to scan atomically, or return NULL if |
248 // all have been claimed. |
250 // all have been claimed. |
249 HeapRegion* claim_next(); |
251 HeapRegion* claim_next(); |
|
252 |
|
253 void cancel_scan(); |
250 |
254 |
251 // Flag that we're done with root region scanning and notify anyone |
255 // Flag that we're done with root region scanning and notify anyone |
252 // who's waiting on it. If aborted is false, assume that all regions |
256 // who's waiting on it. If aborted is false, assume that all regions |
253 // have been claimed. |
257 // have been claimed. |
254 void scan_finished(); |
258 void scan_finished(); |