src/share/vm/memory/cardTableModRefBS.cpp

Print this page
rev 4973 : imported patch change-yg-card-value.diff
rev 4975 : imported patch refactor-and-sparc.diff

*** 461,470 **** --- 461,476 ---- jbyte val = _byte_map[card_index]; // It's already processed if ((val & (clean_card_mask_val() | deferred_card_val())) == deferred_card_val()) { return false; } + + if (val == g1_young_gen) { + // the card is for a young gen region. We don't need to keep track of all pointers into young + return false; + } + // Cached bit can be installed either on a clean card or on a claimed card. jbyte new_val = val; if (val == clean_card_val()) { new_val = (jbyte)deferred_card_val(); } else {
*** 730,739 **** --- 736,749 ---- } void CardTableModRefBS::verify_dirty_region(MemRegion mr) { verify_region(mr, dirty_card, true /* val_equals */); } + + void CardTableModRefBS::verify_g1_young_region(MemRegion mr) { + verify_region(mr, g1_young_gen, true); + } #endif void CardTableModRefBS::print_on(outputStream* st) const { st->print_cr("Card table byte_map: [" INTPTR_FORMAT "," INTPTR_FORMAT "] byte_map_base: " INTPTR_FORMAT, _byte_map, _byte_map + _byte_map_size, byte_map_base);