--- old/src/share/vm/gc_implementation/g1/g1CardCounts.cpp 2013-06-28 11:59:20.905256084 -0700 +++ new/src/share/vm/gc_implementation/g1/g1CardCounts.cpp 2013-06-28 11:59:20.689068319 -0700 @@ -152,12 +152,9 @@ if (card_num < _committed_max_card_num) { count = (uint) _card_counts[card_num]; if (count < G1ConcRSHotCardLimit) { - _card_counts[card_num] += 1; + _card_counts[card_num] = + MIN2((uint)(_card_counts[card_num] + 1), G1ConcRSHotCardLimit); } - assert(_card_counts[card_num] <= G1ConcRSHotCardLimit, - err_msg("Refinement count overflow? " - "new count: "UINT32_FORMAT, - (uint) _card_counts[card_num])); } } return count;