src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hs-gc-g1-mmap Cdiff src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp

src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp

Print this page

        

*** 22,32 **** * */ #include "precompiled.hpp" #include "gc_implementation/parallelScavenge/parMarkBitMap.hpp" - #include "gc_implementation/parallelScavenge/parMarkBitMap.inline.hpp" #include "gc_implementation/parallelScavenge/psParallelCompact.hpp" #include "oops/oop.inline.hpp" #include "runtime/os.hpp" #include "utilities/bitMap.inline.hpp" #include "services/memTracker.hpp" --- 22,31 ----
*** 106,140 **** return true; } return false; } - size_t - ParMarkBitMap::live_words_in_range(HeapWord* beg_addr, HeapWord* end_addr) const - { - assert(beg_addr <= end_addr, "bad range"); - - idx_t live_bits = 0; - - // The bitmap routines require the right boundary to be word-aligned. - const idx_t end_bit = addr_to_bit(end_addr); - const idx_t range_end = BitMap::word_align_up(end_bit); - - idx_t beg_bit = find_obj_beg(addr_to_bit(beg_addr), range_end); - while (beg_bit < end_bit) { - idx_t tmp_end = find_obj_end(beg_bit, range_end); - if (tmp_end < end_bit) { - live_bits += tmp_end - beg_bit + 1; - beg_bit = find_obj_beg(tmp_end + 1, range_end); - } else { - live_bits += end_bit - beg_bit; // No + 1 here; end_bit is not counted. - return bits_to_words(live_bits); - } - } - return bits_to_words(live_bits); - } - size_t ParMarkBitMap::live_words_in_range(HeapWord* beg_addr, oop end_obj) const { assert(beg_addr <= (HeapWord*)end_obj, "bad range"); assert(is_marked(end_obj), "end_obj must be live"); --- 105,114 ----
*** 242,258 **** live_closure->set_source(bit_to_addr(range_end)); return complete; } - #ifndef PRODUCT - void ParMarkBitMap::reset_counters() - { - _cas_tries = _cas_retries = _cas_by_another = 0; - } - #endif // #ifndef PRODUCT - #ifdef ASSERT void ParMarkBitMap::verify_clear() const { const idx_t* const beg = (const idx_t*)_virtual_space->committed_low_addr(); const idx_t* const end = (const idx_t*)_virtual_space->committed_high_addr(); --- 216,225 ----
src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File