< prev index next >

src/hotspot/share/gc/g1/g1CollectedHeap.cpp

Print this page

        

*** 2726,2736 **** while (hrrs.has_next(card_index)) { CardTable::CardValue* card_ptr = ct->byte_for_index(card_index); // The remembered set might contain references to already freed // regions. Filter out such entries to avoid failing card table // verification. ! if (g1h->is_in_closed_subset(ct->addr_for(card_ptr))) { if (*card_ptr != G1CardTable::dirty_card_val()) { *card_ptr = G1CardTable::dirty_card_val(); _dcq.enqueue(card_ptr); } } --- 2726,2736 ---- while (hrrs.has_next(card_index)) { CardTable::CardValue* card_ptr = ct->byte_for_index(card_index); // The remembered set might contain references to already freed // regions. Filter out such entries to avoid failing card table // verification. ! if (g1h->is_in(ct->addr_for(card_ptr))) { if (*card_ptr != G1CardTable::dirty_card_val()) { *card_ptr = G1CardTable::dirty_card_val(); _dcq.enqueue(card_ptr); } }
*** 4603,4617 **** assert(used() == recalculate_used(), "inconsistent used(), value: " SIZE_FORMAT " recalculated: " SIZE_FORMAT, used(), recalculate_used()); } - bool G1CollectedHeap::is_in_closed_subset(const void* p) const { - HeapRegion* hr = heap_region_containing(p); - return hr->is_in(p); - } - // Methods for the mutator alloc region HeapRegion* G1CollectedHeap::new_mutator_alloc_region(size_t word_size, bool force) { assert_heap_locked_or_at_safepoint(true /* should_be_vm_thread */); --- 4603,4612 ----
< prev index next >