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