diff src/share/vm/memory/genCollectedHeap.hpp @ 263:12eea04c8b06

6672698: mangle_unused_area() should not remangle the entire heap at each collection. Summary: Maintain a high water mark for the allocations in a space and mangle only up to that high water mark. Reviewed-by: ysr, apetrusenko
author jmasa
date Wed, 09 Jul 2008 15:08:55 -0700
parents 8bd1e4487c18
children 850fdf70db2b
line wrap: on
line diff
--- a/src/share/vm/memory/genCollectedHeap.hpp	Fri Jun 27 19:12:11 2008 -0700
+++ b/src/share/vm/memory/genCollectedHeap.hpp	Wed Jul 09 15:08:55 2008 -0700
@@ -259,6 +259,9 @@
   // be provided are returned as a list of ScratchBlocks, sorted by
   // decreasing size.
   ScratchBlock* gather_scratch(Generation* requestor, size_t max_alloc_words);
+  // Allow each generation to reset any scratch space that it has
+  // contributed as it needs.
+  void release_scratch();
 
   size_t large_typearray_limit();
 
@@ -482,6 +485,9 @@
   bool should_do_concurrent_full_gc(GCCause::Cause cause);
   void collect_mostly_concurrent(GCCause::Cause cause);
 
+  // Save the tops of the spaces in all generations
+  void record_gen_tops_before_GC() PRODUCT_RETURN;
+
 protected:
   virtual void gc_prologue(bool full);
   virtual void gc_epilogue(bool full);