Mercurial > hg > graal-jvmci-8
diff src/share/vm/memory/genMarkSweep.cpp @ 12033:bd902affe102
8023021: Unnecessary clearing of the card table introduced by the fix for JDK-8023013
Reviewed-by: stefank, ehelin
author | brutisso |
---|---|
date | Thu, 15 Aug 2013 10:05:50 +0200 |
parents | 330dfb0476f4 |
children | 870aedf4ba4f 0982ec23da03 |
line wrap: on
line diff
--- a/src/share/vm/memory/genMarkSweep.cpp Wed Aug 14 13:49:36 2013 +0200 +++ b/src/share/vm/memory/genMarkSweep.cpp Thu Aug 15 10:05:50 2013 +0200 @@ -121,17 +121,15 @@ all_empty = all_empty && gch->get_gen(i)->used() == 0; } GenRemSet* rs = gch->rem_set(); + Generation* old_gen = gch->get_gen(level); // Clear/invalidate below make use of the "prev_used_regions" saved earlier. if (all_empty) { // We've evacuated all generations below us. - Generation* g = gch->get_gen(level); - rs->clear_into_younger(g); + rs->clear_into_younger(old_gen); } else { // Invalidate the cards corresponding to the currently used - // region and clear those corresponding to the evacuated region - // of all generations just collected. - rs->invalidate_or_clear(gch->get_gen(1)); - rs->invalidate_or_clear(gch->get_gen(0)); + // region and clear those corresponding to the evacuated region. + rs->invalidate_or_clear(old_gen); } Threads::gc_epilogue();