1.1 --- a/src/share/vm/memory/defNewGeneration.hpp Fri Jun 27 19:12:11 2008 -0700 1.2 +++ b/src/share/vm/memory/defNewGeneration.hpp Wed Jul 09 15:08:55 2008 -0700 1.3 @@ -279,6 +279,9 @@ 1.4 virtual void gc_prologue(bool full); 1.5 virtual void gc_epilogue(bool full); 1.6 1.7 + // Save the tops for eden, from, and to 1.8 + virtual void record_spaces_top(); 1.9 + 1.10 // Doesn't require additional work during GC prologue and epilogue 1.11 virtual bool performs_in_place_marking() const { return false; } 1.12 1.13 @@ -299,9 +302,12 @@ 1.14 1.15 // For non-youngest collection, the DefNewGeneration can contribute 1.16 // "to-space". 1.17 - void contribute_scratch(ScratchBlock*& list, Generation* requestor, 1.18 + virtual void contribute_scratch(ScratchBlock*& list, Generation* requestor, 1.19 size_t max_alloc_words); 1.20 1.21 + // Reset for contribution of "to-space". 1.22 + virtual void reset_scratch(); 1.23 + 1.24 // GC support 1.25 virtual void compute_new_size(); 1.26 virtual void collect(bool full, 1.27 @@ -331,7 +337,12 @@ 1.28 void verify(bool allow_dirty); 1.29 1.30 protected: 1.31 - void compute_space_boundaries(uintx minimum_eden_size); 1.32 + // If clear_space is true, clear the survivor spaces. Eden is 1.33 + // cleared if the minimum size of eden is 0. If mangle_space 1.34 + // is true, also mangle the space in debug mode. 1.35 + void compute_space_boundaries(uintx minimum_eden_size, 1.36 + bool clear_space, 1.37 + bool mangle_space); 1.38 // Scavenge support 1.39 void swap_spaces(); 1.40 };