diff src/share/vm/gc_implementation/g1/sparsePRT.cpp @ 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 37f87013dfd8
children d44bdab1c03d
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/g1/sparsePRT.cpp	Fri Mar 06 13:50:14 2009 -0800
+++ b/src/share/vm/gc_implementation/g1/sparsePRT.cpp	Sat Mar 07 11:07:36 2009 -0500
@@ -504,6 +504,7 @@
   // Make sure that the current and next tables agree.  (Another mechanism
   // takes care of deleting now-unused tables.)
   _cur = _next;
+  set_expanded(false);
 }
 
 void SparsePRT::expand() {