Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp @ 1884:9f4848ebbabd
6992189: G1: inconsistent base used in sparse rem set iterator
Summary: The remembered set iterator for sparse tables incorrectly assumes that index 0 corresponds to the bottom of the heap, not address 0 as it is the case.
Reviewed-by: ysr, jmasa
author | tonyp |
---|---|
date | Fri, 15 Oct 2010 17:26:56 -0400 |
parents | c18cbe5936b8 |
children | f95d63e2154a |
comparison
equal
deleted
inserted
replaced
1883:35e4e086d5f5 | 1884:9f4848ebbabd |
---|---|
1157 HeapRegionRemSetIterator:: | 1157 HeapRegionRemSetIterator:: |
1158 HeapRegionRemSetIterator() : | 1158 HeapRegionRemSetIterator() : |
1159 _hrrs(NULL), | 1159 _hrrs(NULL), |
1160 _g1h(G1CollectedHeap::heap()), | 1160 _g1h(G1CollectedHeap::heap()), |
1161 _bosa(NULL), | 1161 _bosa(NULL), |
1162 _sparse_iter(size_t(G1CollectedHeap::heap()->reserved_region().start()) | 1162 _sparse_iter() { } |
1163 >> CardTableModRefBS::card_shift) | |
1164 {} | |
1165 | 1163 |
1166 void HeapRegionRemSetIterator::initialize(const HeapRegionRemSet* hrrs) { | 1164 void HeapRegionRemSetIterator::initialize(const HeapRegionRemSet* hrrs) { |
1167 _hrrs = hrrs; | 1165 _hrrs = hrrs; |
1168 _coarse_map = &_hrrs->_other_regions._coarse_map; | 1166 _coarse_map = &_hrrs->_other_regions._coarse_map; |
1169 _fine_grain_regions = _hrrs->_other_regions._fine_grain_regions; | 1167 _fine_grain_regions = _hrrs->_other_regions._fine_grain_regions; |