1.1 --- a/src/share/vm/memory/genRemSet.hpp Wed Jun 04 13:51:09 2008 -0700 1.2 +++ b/src/share/vm/memory/genRemSet.hpp Thu Jun 05 15:57:56 2008 -0700 1.3 @@ -42,6 +42,7 @@ 1.4 }; 1.5 1.6 GenRemSet(BarrierSet * bs) : _bs(bs) {} 1.7 + GenRemSet() : _bs(NULL) {} 1.8 1.9 virtual Name rs_kind() = 0; 1.10 1.11 @@ -53,6 +54,9 @@ 1.12 // Return the barrier set associated with "this." 1.13 BarrierSet* bs() { return _bs; } 1.14 1.15 + // Set the barrier set. 1.16 + void set_bs(BarrierSet* bs) { _bs = bs; } 1.17 + 1.18 // Do any (sequential) processing necessary to prepare for (possibly 1.19 // "parallel", if that arg is true) calls to younger_refs_iterate. 1.20 virtual void prepare_for_younger_refs_iterate(bool parallel) = 0; 1.21 @@ -116,7 +120,10 @@ 1.22 1.23 // Informs the RS that refs in the given "mr" may have changed 1.24 // arbitrarily, and therefore may contain old-to-young pointers. 1.25 - virtual void invalidate(MemRegion mr) = 0; 1.26 + // If "whole heap" is true, then this invalidation is part of an 1.27 + // invalidation of the whole heap, which an implementation might 1.28 + // handle differently than that of a sub-part of the heap. 1.29 + virtual void invalidate(MemRegion mr, bool whole_heap = false) = 0; 1.30 1.31 // Informs the RS that refs in this generation 1.32 // may have changed arbitrarily, and therefore may contain