< prev index next >
src/share/vm/gc/shared/collectedHeap.inline.hpp
Print this page
*** 242,254 ****
if (alignment_in_bytes <= ObjectAlignmentInBytes) {
return addr;
}
assert(is_ptr_aligned(addr, HeapWordSize),
! err_msg("Address " PTR_FORMAT " is not properly aligned.", p2i(addr)));
assert(is_size_aligned(alignment_in_bytes, HeapWordSize),
! err_msg("Alignment size %u is incorrect.", alignment_in_bytes));
HeapWord* new_addr = (HeapWord*) align_pointer_up(addr, alignment_in_bytes);
size_t padding = pointer_delta(new_addr, addr);
if (padding == 0) {
--- 242,254 ----
if (alignment_in_bytes <= ObjectAlignmentInBytes) {
return addr;
}
assert(is_ptr_aligned(addr, HeapWordSize),
! "Address " PTR_FORMAT " is not properly aligned.", p2i(addr));
assert(is_size_aligned(alignment_in_bytes, HeapWordSize),
! "Alignment size %u is incorrect.", alignment_in_bytes);
HeapWord* new_addr = (HeapWord*) align_pointer_up(addr, alignment_in_bytes);
size_t padding = pointer_delta(new_addr, addr);
if (padding == 0) {
*** 256,272 ****
}
if (padding < CollectedHeap::min_fill_size()) {
padding += alignment_in_bytes / HeapWordSize;
assert(padding >= CollectedHeap::min_fill_size(),
! err_msg("alignment_in_bytes %u is expect to be larger "
! "than the minimum object size", alignment_in_bytes));
new_addr = addr + padding;
}
! assert(new_addr > addr, err_msg("Unexpected arithmetic overflow "
! PTR_FORMAT " not greater than " PTR_FORMAT, p2i(new_addr), p2i(addr)));
if(new_addr < end) {
CollectedHeap::fill_with_object(addr, padding);
return new_addr;
} else {
return NULL;
--- 256,272 ----
}
if (padding < CollectedHeap::min_fill_size()) {
padding += alignment_in_bytes / HeapWordSize;
assert(padding >= CollectedHeap::min_fill_size(),
! "alignment_in_bytes %u is expect to be larger "
! "than the minimum object size", alignment_in_bytes);
new_addr = addr + padding;
}
! assert(new_addr > addr, "Unexpected arithmetic overflow "
! PTR_FORMAT " not greater than " PTR_FORMAT, p2i(new_addr), p2i(addr));
if(new_addr < end) {
CollectedHeap::fill_with_object(addr, padding);
return new_addr;
} else {
return NULL;
< prev index next >