diff src/share/vm/gc_implementation/g1/sparsePRT.hpp @ 617:0db4adb6e914

6810698: G1: two small bugs in the sparse remembered sets Summary: The _expanded flag of the sparse RSets is not reset and this can leave a RSet in an inconsistent state if it is expanded more than once. Also, we should be iterating over the _cur, instead of the _next, sparse table Reviewed-by: apetrusenko, iveresov
author tonyp
date Sat, 07 Mar 2009 11:07:36 -0500
parents fe3d7c11b4b7
children 7bb995fbd3c0
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/g1/sparsePRT.hpp	Fri Mar 06 13:50:14 2009 -0800
+++ b/src/share/vm/gc_implementation/g1/sparsePRT.hpp	Sat Mar 07 11:07:36 2009 -0500
@@ -274,7 +274,7 @@
 
   // Clean up all tables on the expanded list.  Called single threaded.
   static void cleanup_all();
-  RSHashTable* next() const { return _next; }
+  RSHashTable* cur() const { return _cur; }
 
 
   void init_iterator(SparsePRTIter* sprt_iter);
@@ -300,7 +300,7 @@
   {}
 
   void init(const SparsePRT* sprt) {
-    RSHashTableIter::init(sprt->next());
+    RSHashTableIter::init(sprt->cur());
   }
   bool has_next(size_t& card_index) {
     return RSHashTableIter::has_next(card_index);