src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
Print this page
@@ -8421,11 +8421,11 @@
// of the free range was recorded. Record a birth now.
if (lastFreeRangeCoalesced()) {
_sp->coalBirth(size);
}
_sp->addChunkAndRepairOffsetTable(chunk, size,
- lastFreeRangeCoalesced());
+ lastFreeRangeCoalesced(), true);
} else if (CMSTraceSweeper) {
gclog_or_tty->print_cr("Already in free list: nothing to flush");
}
set_inFreeRange(false);
set_freeRangeInFreeLists(false);
@@ -9182,11 +9182,11 @@
chunk_at_end->set_size(chunk_at_end_old_size -
word_size_change);
_cmsSpace->freed((HeapWord*) chunk_at_end->end(),
word_size_change);
- _cmsSpace->returnChunkToDictionary(chunk_at_end);
+ _cmsSpace->returnChunkToDictionary(chunk_at_end, true);
MemRegion mr(_cmsSpace->bottom(), new_word_size);
_bts->resize(new_word_size); // resize the block offset shared array
Universe::heap()->barrier_set()->resize_covered_region(mr);
_cmsSpace->assert_locked();
@@ -9285,6 +9285,5 @@
default:
ShouldNotReachHere();
}
}
-