diff 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
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/g1/sparsePRT.cpp	Thu Oct 14 10:38:14 2010 -0400
+++ b/src/share/vm/gc_implementation/g1/sparsePRT.cpp	Fri Oct 15 17:26:56 2010 -0400
@@ -323,10 +323,7 @@
 }
 
 size_t /* RSHashTable:: */ RSHashTableIter::compute_card_ind(CardIdx_t ci) {
-  return
-    _heap_bot_card_ind
-    + (_rsht->entry(_bl_ind)->r_ind() * HeapRegion::CardsPerRegion)
-    + ci;
+  return (_rsht->entry(_bl_ind)->r_ind() * HeapRegion::CardsPerRegion) + ci;
 }
 
 bool /* RSHashTable:: */ RSHashTableIter::has_next(size_t& card_index) {