< prev index next >

src/share/vm/gc/g1/heapRegion.inline.hpp

Print this page

        

*** 115,125 **** 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"); --- 115,126 ---- 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(), ! "Closed archive regions should not have references into other 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");
*** 160,170 **** return pointer_delta(next, addr); } inline bool HeapRegion::is_obj_dead(const oop obj, const G1CMBitMapRO* prev_bitmap) const { assert(is_in_reserved(obj), "Object " PTR_FORMAT " must be in region", p2i(obj)); ! return !obj_allocated_since_prev_marking(obj) && !prev_bitmap->isMarked((HeapWord*)obj); } inline size_t HeapRegion::block_size(const HeapWord *addr) const { if (addr == top()) { return pointer_delta(end(), addr); --- 161,173 ---- return pointer_delta(next, addr); } inline bool HeapRegion::is_obj_dead(const oop obj, const G1CMBitMapRO* prev_bitmap) const { assert(is_in_reserved(obj), "Object " PTR_FORMAT " must be in region", p2i(obj)); ! return !obj_allocated_since_prev_marking(obj) && ! !prev_bitmap->isMarked((HeapWord*)obj) && ! !is_open_archive(); } inline size_t HeapRegion::block_size(const HeapWord *addr) const { if (addr == top()) { return pointer_delta(end(), addr);
< prev index next >