--- old/src/share/vm/utilities/bitMap.cpp 2014-09-30 17:17:27.547035464 +0400 +++ new/src/share/vm/utilities/bitMap.cpp 2014-09-30 17:17:27.499035463 +0400 @@ -344,7 +344,7 @@ for (idx_t index = 0; index < size; index++) { idx_t temp = map(index) | other_map[index]; changed = changed || (temp != map(index)); - map()[index] = temp; + dest_map[index] = temp; } return changed; } @@ -407,10 +407,10 @@ bm_word_t* word = map(); idx_t rest = size(); for (; rest >= (idx_t) BitsPerWord; rest -= BitsPerWord) { - if (*word != (bm_word_t) AllBits) return false; + if (*word != ~(bm_word_t)0) return false; word++; } - return rest == 0 || (*word | ~right_n_bits((int)rest)) == (bm_word_t) AllBits; + return rest == 0 || (*word | ~right_n_bits((int)rest)) == ~(bm_word_t)0; } @@ -418,10 +418,10 @@ bm_word_t* word = map(); idx_t rest = size(); for (; rest >= (idx_t) BitsPerWord; rest -= BitsPerWord) { - if (*word != (bm_word_t) NoBits) return false; + if (*word != 0) return false; word++; } - return rest == 0 || (*word & right_n_bits((int)rest)) == (bm_word_t) NoBits; + return rest == 0 || (*word & right_n_bits((int)rest)) == 0; } void BitMap::clear_large() { @@ -441,7 +441,7 @@ offset < rightOffset && index < endIndex; offset = (++index) << LogBitsPerWord) { idx_t rest = map(index) >> (offset & (BitsPerWord - 1)); - for (; offset < rightOffset && rest != (bm_word_t)NoBits; offset++) { + for (; offset < rightOffset && rest != 0; offset++) { if (rest & 1) { if (!blk->do_bit(offset)) return false; // resample at each closure application @@ -468,7 +468,7 @@ (intptr_t) NULL_WORD); if (res != NULL_WORD) { guarantee( _pop_count_table == (void*) res, "invariant" ); - FREE_C_HEAP_ARRAY(bm_word_t, table, mtInternal); + FREE_C_HEAP_ARRAY(idx_t, table, mtInternal); } } }