Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/sparsePRT.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 | a03ae377b2e8 |
children | 72a161e62cc4 |
comparison
equal
deleted
inserted
replaced
1883:35e4e086d5f5 | 1884:9f4848ebbabd |
---|---|
321 // Otherwise, none found: | 321 // Otherwise, none found: |
322 return SparsePRTEntry::NullEntry; | 322 return SparsePRTEntry::NullEntry; |
323 } | 323 } |
324 | 324 |
325 size_t /* RSHashTable:: */ RSHashTableIter::compute_card_ind(CardIdx_t ci) { | 325 size_t /* RSHashTable:: */ RSHashTableIter::compute_card_ind(CardIdx_t ci) { |
326 return | 326 return (_rsht->entry(_bl_ind)->r_ind() * HeapRegion::CardsPerRegion) + ci; |
327 _heap_bot_card_ind | |
328 + (_rsht->entry(_bl_ind)->r_ind() * HeapRegion::CardsPerRegion) | |
329 + ci; | |
330 } | 327 } |
331 | 328 |
332 bool /* RSHashTable:: */ RSHashTableIter::has_next(size_t& card_index) { | 329 bool /* RSHashTable:: */ RSHashTableIter::has_next(size_t& card_index) { |
333 _card_ind++; | 330 _card_ind++; |
334 CardIdx_t ci; | 331 CardIdx_t ci; |