hotspot/src/share/vm/gc/g1/g1ConcurrentMark.hpp
changeset 36084 9a3bf78e9a76
parent 35943 e726308008c0
child 36588 263860708cc6
equal deleted inserted replaced
35949:02676622ca27 36084:9a3bf78e9a76
   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();