< prev index next >
src/share/vm/gc/g1/heapRegionRemSet.cpp
Print this page
*** 374,385 ****
invalidate(0, _max_regions);
}
void FromCardCache::invalidate(uint start_idx, size_t new_num_regions) {
guarantee((size_t)start_idx + new_num_regions <= max_uintx,
! err_msg("Trying to invalidate beyond maximum region, from %u size " SIZE_FORMAT,
! start_idx, new_num_regions));
for (uint i = 0; i < HeapRegionRemSet::num_par_rem_sets(); i++) {
uint end_idx = (start_idx + (uint)new_num_regions);
assert(end_idx <= _max_regions, "Must be within max.");
for (uint j = start_idx; j < end_idx; j++) {
set(i, j, InvalidCard);
--- 374,385 ----
invalidate(0, _max_regions);
}
void FromCardCache::invalidate(uint start_idx, size_t new_num_regions) {
guarantee((size_t)start_idx + new_num_regions <= max_uintx,
! "Trying to invalidate beyond maximum region, from %u size " SIZE_FORMAT,
! start_idx, new_num_regions);
for (uint i = 0; i < HeapRegionRemSet::num_par_rem_sets(); i++) {
uint end_idx = (start_idx + (uint)new_num_regions);
assert(end_idx <= _max_regions, "Must be within max.");
for (uint j = start_idx; j < end_idx; j++) {
set(i, j, InvalidCard);
*** 1011,1021 ****
_cur_card_in_prt = _fine_cur_prt->_bm.get_next_one_offset(_cur_card_in_prt + 1);
}
card_index = _cur_region_card_offset + _cur_card_in_prt;
guarantee(_cur_card_in_prt < HeapRegion::CardsPerRegion,
! err_msg("Card index " SIZE_FORMAT " must be within the region", _cur_card_in_prt));
return true;
}
bool HeapRegionRemSetIterator::fine_has_next() {
return _cur_card_in_prt != HeapRegion::CardsPerRegion;
--- 1011,1021 ----
_cur_card_in_prt = _fine_cur_prt->_bm.get_next_one_offset(_cur_card_in_prt + 1);
}
card_index = _cur_region_card_offset + _cur_card_in_prt;
guarantee(_cur_card_in_prt < HeapRegion::CardsPerRegion,
! "Card index " SIZE_FORMAT " must be within the region", _cur_card_in_prt);
return true;
}
bool HeapRegionRemSetIterator::fine_has_next() {
return _cur_card_in_prt != HeapRegion::CardsPerRegion;
*** 1180,1191 ****
void PerRegionTable::test_fl_mem_size() {
PerRegionTable* dummy = alloc(NULL);
size_t min_prt_size = sizeof(void*) + dummy->bm()->size_in_words() * HeapWordSize;
assert(dummy->mem_size() > min_prt_size,
! err_msg("PerRegionTable memory usage is suspiciously small, only has " SIZE_FORMAT " bytes. "
! "Should be at least " SIZE_FORMAT " bytes.", dummy->mem_size(), min_prt_size));
free(dummy);
guarantee(dummy->mem_size() == fl_mem_size(), "fl_mem_size() does not return the correct element size");
// try to reset the state
_free_list = NULL;
delete dummy;
--- 1180,1191 ----
void PerRegionTable::test_fl_mem_size() {
PerRegionTable* dummy = alloc(NULL);
size_t min_prt_size = sizeof(void*) + dummy->bm()->size_in_words() * HeapWordSize;
assert(dummy->mem_size() > min_prt_size,
! "PerRegionTable memory usage is suspiciously small, only has " SIZE_FORMAT " bytes. "
! "Should be at least " SIZE_FORMAT " bytes.", dummy->mem_size(), min_prt_size);
free(dummy);
guarantee(dummy->mem_size() == fl_mem_size(), "fl_mem_size() does not return the correct element size");
// try to reset the state
_free_list = NULL;
delete dummy;
< prev index next >