7021322: assert(object_end <= top()) failed: Object crosses promotion LAB boundary

Pass the same object size value to both allocate and unallocate_object

Reviewed-by: ysr, brutisso
This commit is contained in:
Stefan Karlsson 2011-09-12 16:09:50 +02:00
parent 75685a273a
commit a4523cfc7f
3 changed files with 8 additions and 10 deletions

View file

@ -380,10 +380,10 @@ oop PSPromotionManager::copy_to_survivor_space(oop o) {
// deallocate it, so we have to test. If the deallocation fails,
// overwrite with a filler object.
if (new_obj_is_tenured) {
if (!_old_lab.unallocate_object(new_obj)) {
if (!_old_lab.unallocate_object((HeapWord*) new_obj, new_obj_size)) {
CollectedHeap::fill_with_object((HeapWord*) new_obj, new_obj_size);
}
} else if (!_young_lab.unallocate_object(new_obj)) {
} else if (!_young_lab.unallocate_object((HeapWord*) new_obj, new_obj_size)) {
CollectedHeap::fill_with_object((HeapWord*) new_obj, new_obj_size);
}