< prev index next >
src/share/vm/gc/g1/heapRegion.inline.hpp
Print this page
*** 115,130 ****
inline bool HeapRegion::is_obj_dead_with_size(const oop obj, G1CMBitMapRO* prev_bitmap, size_t* size) const {
HeapWord* addr = (HeapWord*) obj;
assert(addr < top(), "must be");
! assert(!is_archive(), "Archive regions should not have references into interesting regions.");
assert(!is_humongous(), "Humongous objects not handled here");
bool obj_is_dead = is_obj_dead(obj, prev_bitmap);
if (ClassUnloadingWithConcurrentMark && obj_is_dead) {
! assert(!block_is_obj(addr), "must be");
*size = block_size_using_bitmap(addr, prev_bitmap);
} else {
assert(block_is_obj(addr), "must be");
*size = obj->size();
}
--- 115,130 ----
inline bool HeapRegion::is_obj_dead_with_size(const oop obj, G1CMBitMapRO* prev_bitmap, size_t* size) const {
HeapWord* addr = (HeapWord*) obj;
assert(addr < top(), "must be");
! assert(!is_closed_archive(), "Archive regions should not have references into interesting regions.");
assert(!is_humongous(), "Humongous objects not handled here");
bool obj_is_dead = is_obj_dead(obj, prev_bitmap);
if (ClassUnloadingWithConcurrentMark && obj_is_dead) {
! assert(!block_is_obj(addr) || is_open_archive(), "must be");
*size = block_size_using_bitmap(addr, prev_bitmap);
} else {
assert(block_is_obj(addr), "must be");
*size = obj->size();
}
< prev index next >