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

changeset 7050
6701abbc4441
parent 7049
eec72fa4b108
child 7051
1f1d373cd044
     1.1 --- a/src/share/vm/gc_implementation/g1/concurrentMark.cpp	Tue Aug 19 12:39:06 2014 +0200
     1.2 +++ b/src/share/vm/gc_implementation/g1/concurrentMark.cpp	Tue Aug 19 10:50:27 2014 +0200
     1.3 @@ -728,14 +728,13 @@
     1.4    _completed_initialization = true;
     1.5  }
     1.6  
     1.7 -void ConcurrentMark::update_g1_committed(bool force) {
     1.8 +void ConcurrentMark::update_heap_boundaries(MemRegion bounds, bool force) {
     1.9    // If concurrent marking is not in progress, then we do not need to
    1.10    // update _heap_end.
    1.11    if (!concurrent_marking_in_progress() && !force) return;
    1.12  
    1.13 -  MemRegion committed = _g1h->g1_committed();
    1.14 -  assert(committed.start() == _heap_start, "start shouldn't change");
    1.15 -  HeapWord* new_end = committed.end();
    1.16 +  assert(bounds.start() == _heap_start, "start shouldn't change");
    1.17 +  HeapWord* new_end = bounds.end();
    1.18    if (new_end > _heap_end) {
    1.19      // The heap has been expanded.
    1.20  
    1.21 @@ -826,7 +825,7 @@
    1.22      assert(out_of_regions(),
    1.23             err_msg("only way to get here: _finger: "PTR_FORMAT", _heap_end: "PTR_FORMAT,
    1.24                     p2i(_finger), p2i(_heap_end)));
    1.25 -    update_g1_committed(true);
    1.26 +    update_heap_boundaries(_g1h->g1_committed(), true);
    1.27    }
    1.28  }
    1.29  
    1.30 @@ -2194,7 +2193,7 @@
    1.31    // Noone else should be accessing the _cleanup_list at this point,
    1.32    // so it's not necessary to take any locks
    1.33    while (!_cleanup_list.is_empty()) {
    1.34 -    HeapRegion* hr = _cleanup_list.remove_head();
    1.35 +    HeapRegion* hr = _cleanup_list.remove_region(true /* from_head */);
    1.36      assert(hr != NULL, "Got NULL from a non-empty list");
    1.37      hr->par_clear();
    1.38      tmp_free_list.add_ordered(hr);

mercurial