comparison src/share/vm/gc_implementation/g1/g1CardCounts.hpp @ 10289:bed55d125e37

8014408: G1: crashes with assert assert(prev_committed_card_num == _committed_max_card_num) failed Summary: Mismatch in the card number calculation between next and previous committed sizes of the card counts table. Reviewed-by: jmasa, tschatzl
author johnc
date Wed, 15 May 2013 22:35:36 -0700
parents 194f52aa2f23
children 9cb63cd234a0
comparison
equal deleted inserted replaced
10288:eba99d16dc6f 10289:bed55d125e37
92 check_card_num(card_num, 92 check_card_num(card_num,
93 err_msg("card num out of range: "SIZE_FORMAT, card_num)); 93 err_msg("card num out of range: "SIZE_FORMAT, card_num));
94 return (jbyte*) (_ct_bot + card_num); 94 return (jbyte*) (_ct_bot + card_num);
95 } 95 }
96 96
97 // Helper routine.
98 // Returns the number of cards that can be counted by the given committed
99 // table size, with a maximum of the number of cards spanned by the max
100 // capacity of the heap.
101 size_t committed_to_card_num(size_t committed_size) {
102 return MIN2(_reserved_max_card_num, committed_size / sizeof(jbyte));
103 }
104
97 // Clear the counts table for the given (exclusive) index range. 105 // Clear the counts table for the given (exclusive) index range.
98 void clear_range(size_t from_card_num, size_t to_card_num); 106 void clear_range(size_t from_card_num, size_t to_card_num);
99 107
100 public: 108 public:
101 G1CardCounts(G1CollectedHeap* g1h); 109 G1CardCounts(G1CollectedHeap* g1h);