--- old/src/share/vm/gc/g1/g1CollectedHeap.cpp 2015-11-04 14:07:30.463264359 +0100 +++ new/src/share/vm/gc/g1/g1CollectedHeap.cpp 2015-11-04 14:07:30.383261083 +0100 @@ -3613,7 +3613,7 @@ // The remembered set might contain references to already freed // regions. Filter out such entries to avoid failing card table // verification. - if (!g1h->heap_region_containing(bs->addr_for(card_ptr))->is_free()) { + if (g1h->is_in_closed_subset(bs->addr_for(card_ptr))) { if (*card_ptr != CardTableModRefBS::dirty_card_val()) { *card_ptr = CardTableModRefBS::dirty_card_val(); _dcq.enqueue(card_ptr);