Mercurial > hg > graal-compiler
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); |