< prev index next >

src/share/vm/gc/g1/g1CardLiveData.cpp

Print this page
rev 13279 : 8182169: ArrayAllocator should take MEMFLAGS as regular parameter
Reviewed-by: tschatzl, kbarrett
rev 13284 : imported patch 8184346-cleanup-g1cmbitmap

*** 219,229 **** // Skip empty regions. return 0; } if (hr->is_humongous()) { HeapRegion* start_region = hr->humongous_start_region(); ! if (mark_bitmap->isMarked(start_region->bottom())) { mark_card_bitmap_range(start, hr->top()); return pointer_delta(hr->top(), start, 1); } else { // Humongous start object was actually dead. return 0; --- 219,229 ---- // Skip empty regions. return 0; } if (hr->is_humongous()) { HeapRegion* start_region = hr->humongous_start_region(); ! if (mark_bitmap->is_marked(start_region->bottom())) { mark_card_bitmap_range(start, hr->top()); return pointer_delta(hr->top(), start, 1); } else { // Humongous start object was actually dead. return 0;
*** 234,244 **** "Preconditions not met - " "start: " PTR_FORMAT ", ntams: " PTR_FORMAT ", end: " PTR_FORMAT, p2i(start), p2i(ntams), p2i(hr->end())); // Find the first marked object at or after "start". ! start = mark_bitmap->getNextMarkedWordAddress(start, ntams); while (start < ntams) { oop obj = oop(start); size_t obj_size = obj->size(); HeapWord* obj_end = start + obj_size; --- 234,244 ---- "Preconditions not met - " "start: " PTR_FORMAT ", ntams: " PTR_FORMAT ", end: " PTR_FORMAT, p2i(start), p2i(ntams), p2i(hr->end())); // Find the first marked object at or after "start". ! start = mark_bitmap->get_next_marked_addr(start, ntams); while (start < ntams) { oop obj = oop(start); size_t obj_size = obj->size(); HeapWord* obj_end = start + obj_size;
*** 248,258 **** // Add the size of this object to the number of marked bytes. marked_bytes += obj_size * HeapWordSize; // Find the next marked object after this one. ! start = mark_bitmap->getNextMarkedWordAddress(obj_end, ntams); } return marked_bytes; } --- 248,258 ---- // Add the size of this object to the number of marked bytes. marked_bytes += obj_size * HeapWordSize; // Find the next marked object after this one. ! start = mark_bitmap->get_next_marked_addr(obj_end, ntams); } return marked_bytes; }
< prev index next >