8013032: CMS: assert(used() == used_after_gc && used_after_gc <= capacity()) failed: used: 0 used_after_gc: 292080 capacity: 1431699456

Reviewed-by: tschatzl, mgerdin, johnc
This commit is contained in:
Jon Masamitsu 2013-05-08 16:28:03 -07:00
parent a8ad116e49
commit 973d0400c4
2 changed files with 68 additions and 6 deletions

View file

@ -917,18 +917,14 @@ void ConcurrentMarkSweepGeneration::compute_new_size() {
return;
}
// Compute some numbers about the state of the heap.
const size_t used_after_gc = used();
const size_t capacity_after_gc = capacity();
// The heap has been compacted but not reset yet.
// Any metric such as free() or used() will be incorrect.
CardGeneration::compute_new_size();
// Reset again after a possible resizing
cmsSpace()->reset_after_compaction();
assert(used() == used_after_gc && used_after_gc <= capacity(),
err_msg("used: " SIZE_FORMAT " used_after_gc: " SIZE_FORMAT
" capacity: " SIZE_FORMAT, used(), used_after_gc, capacity()));
}
void ConcurrentMarkSweepGeneration::compute_new_size_free_list() {