changeset 9679:fe54119ce75f

8141422: G1 eager reclaim card dirtying may dirty outside of allocated objects Reviewed-by: sjohanss, tschatzl, ehelin
author mgerdin
date Wed, 04 Nov 2015 16:42:11 +0100
parents cd14a4e35f7a
children 0a9dc66ab4ae f541df955aca 86eba50b37c0
files src/share/vm/gc/g1/g1CollectedHeap.cpp
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/gc/g1/g1CollectedHeap.cpp	Tue Nov 03 19:53:10 2015 -0500
+++ b/src/share/vm/gc/g1/g1CollectedHeap.cpp	Wed Nov 04 16:42:11 2015 +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);