< prev index next >

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

Print this page
rev 10807 : 8153843: G1CardLiveDataHelper incorrectly sets next_live_bytes on dead humongous regions
Reviewed-by:

*** 204,215 **** --- 204,221 ---- if (ntams <= start) { // 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; + } } assert(start <= hr->end() && start <= ntams && ntams <= hr->end(), "Preconditions not met - " "start: " PTR_FORMAT ", ntams: " PTR_FORMAT ", end: " PTR_FORMAT,
< prev index next >