src/share/vm/gc_implementation/g1/concurrentMark.hpp

changeset 6693
8a140676873f
parent 6385
58fc1b1523dc
child 6876
710a3c8b516e
child 6904
0982ec23da03
     1.1 --- a/src/share/vm/gc_implementation/g1/concurrentMark.hpp	Wed May 14 13:32:44 2014 +0200
     1.2 +++ b/src/share/vm/gc_implementation/g1/concurrentMark.hpp	Wed May 14 14:32:23 2014 +0200
     1.3 @@ -542,8 +542,12 @@
     1.4    // frequently.
     1.5    HeapRegion* claim_region(uint worker_id);
     1.6  
     1.7 -  // It determines whether we've run out of regions to scan.
     1.8 -  bool        out_of_regions() { return _finger == _heap_end; }
     1.9 +  // It determines whether we've run out of regions to scan. Note that
    1.10 +  // the finger can point past the heap end in case the heap was expanded
    1.11 +  // to satisfy an allocation without doing a GC. This is fine, because all
    1.12 +  // objects in those regions will be considered live anyway because of
    1.13 +  // SATB guarantees (i.e. their TAMS will be equal to bottom).
    1.14 +  bool        out_of_regions() { return _finger >= _heap_end; }
    1.15  
    1.16    // Returns the task with the given id
    1.17    CMTask* task(int id) {

mercurial