--- old/src/share/vm/gc/parallel/parMarkBitMap.hpp 2017-04-22 12:59:07.675228089 -0400 +++ new/src/share/vm/gc/parallel/parMarkBitMap.hpp 2017-04-22 12:59:07.579223190 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -305,7 +305,7 @@ inline size_t ParMarkBitMap::obj_size(idx_t beg_bit) const { - const idx_t end_bit = _end_bits.get_next_one_offset_inline(beg_bit, size()); + const idx_t end_bit = _end_bits.get_next_one_offset(beg_bit, size()); assert(is_marked(beg_bit), "obj not marked"); assert(end_bit < size(), "end bit missing"); return obj_size(beg_bit, end_bit); @@ -359,13 +359,13 @@ inline ParMarkBitMap::idx_t ParMarkBitMap::find_obj_beg(idx_t beg, idx_t end) const { - return _beg_bits.get_next_one_offset_inline_aligned_right(beg, end); + return _beg_bits.get_next_one_offset_aligned_right(beg, end); } inline ParMarkBitMap::idx_t ParMarkBitMap::find_obj_end(idx_t beg, idx_t end) const { - return _end_bits.get_next_one_offset_inline_aligned_right(beg, end); + return _end_bits.get_next_one_offset_aligned_right(beg, end); } inline HeapWord* --- old/src/share/vm/utilities/bitMap.hpp 2017-04-22 12:59:08.183254023 -0400 +++ new/src/share/vm/utilities/bitMap.hpp 2017-04-22 12:59:08.087249123 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -247,15 +247,6 @@ // Looking for 1's and 0's at indices equal to or greater than "l_index", // stopping if none has been found before "r_index", and returning // "r_index" (which must be at most "size") in that case. - idx_t get_next_one_offset_inline (idx_t l_index, idx_t r_index) const; - idx_t get_next_zero_offset_inline(idx_t l_index, idx_t r_index) const; - - // Like "get_next_one_offset_inline", except requires that "r_index" is - // aligned to bitsizeof(bm_word_t). - idx_t get_next_one_offset_inline_aligned_right(idx_t l_index, - idx_t r_index) const; - - // Non-inline versionsof the above. idx_t get_next_one_offset (idx_t l_index, idx_t r_index) const; idx_t get_next_zero_offset(idx_t l_index, idx_t r_index) const; @@ -266,6 +257,10 @@ return get_next_zero_offset(offset, size()); } + // Like "get_next_one_offset", except requires that "r_index" is + // aligned to bitsizeof(bm_word_t). + idx_t get_next_one_offset_aligned_right(idx_t l_index, idx_t r_index) const; + // Returns the number of bits set in the bitmap. idx_t count_one_bits() const; --- old/src/share/vm/utilities/bitMap.inline.hpp 2017-04-22 12:59:08.699280356 -0400 +++ new/src/share/vm/utilities/bitMap.inline.hpp 2017-04-22 12:59:08.599275257 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -146,7 +146,7 @@ } inline BitMap::idx_t -BitMap::get_next_one_offset_inline(idx_t l_offset, idx_t r_offset) const { +BitMap::get_next_one_offset(idx_t l_offset, idx_t r_offset) const { assert(l_offset <= size(), "BitMap index out of bounds"); assert(r_offset <= size(), "BitMap index out of bounds"); assert(l_offset <= r_offset, "l_offset > r_offset ?"); @@ -209,7 +209,7 @@ } inline BitMap::idx_t -BitMap::get_next_zero_offset_inline(idx_t l_offset, idx_t r_offset) const { +BitMap::get_next_zero_offset(idx_t l_offset, idx_t r_offset) const { assert(l_offset <= size(), "BitMap index out of bounds"); assert(r_offset <= size(), "BitMap index out of bounds"); assert(l_offset <= r_offset, "l_offset > r_offset ?"); @@ -251,8 +251,7 @@ } inline BitMap::idx_t -BitMap::get_next_one_offset_inline_aligned_right(idx_t l_offset, - idx_t r_offset) const +BitMap::get_next_one_offset_aligned_right(idx_t l_offset, idx_t r_offset) const { verify_range(l_offset, r_offset); assert(bit_in_word(r_offset) == 0, "r_offset not word-aligned"); @@ -322,16 +321,6 @@ return bit_rounded_up > bit ? word_index(bit_rounded_up) : size_in_words(); } -inline BitMap::idx_t BitMap::get_next_one_offset(idx_t l_offset, - idx_t r_offset) const { - return get_next_one_offset_inline(l_offset, r_offset); -} - -inline BitMap::idx_t BitMap::get_next_zero_offset(idx_t l_offset, - idx_t r_offset) const { - return get_next_zero_offset_inline(l_offset, r_offset); -} - inline bool BitMap2D::is_valid_index(idx_t slot_index, idx_t bit_within_slot_index) { verify_bit_within_slot_index(bit_within_slot_index); return (bit_index(slot_index, bit_within_slot_index) < size_in_bits());