comparison 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
comparison
equal deleted inserted replaced
225:286bee59f34b 263:12eea04c8b06
257 // requestor promises to allocate no more than "max_alloc_words" in any 257 // requestor promises to allocate no more than "max_alloc_words" in any
258 // older generation (via promotion say.) Any blocks of space that can 258 // older generation (via promotion say.) Any blocks of space that can
259 // be provided are returned as a list of ScratchBlocks, sorted by 259 // be provided are returned as a list of ScratchBlocks, sorted by
260 // decreasing size. 260 // decreasing size.
261 ScratchBlock* gather_scratch(Generation* requestor, size_t max_alloc_words); 261 ScratchBlock* gather_scratch(Generation* requestor, size_t max_alloc_words);
262 // Allow each generation to reset any scratch space that it has
263 // contributed as it needs.
264 void release_scratch();
262 265
263 size_t large_typearray_limit(); 266 size_t large_typearray_limit();
264 267
265 // Ensure parsability: override 268 // Ensure parsability: override
266 virtual void ensure_parsability(bool retire_tlabs); 269 virtual void ensure_parsability(bool retire_tlabs);
480 483
481 // In support of ExplicitGCInvokesConcurrent functionality 484 // In support of ExplicitGCInvokesConcurrent functionality
482 bool should_do_concurrent_full_gc(GCCause::Cause cause); 485 bool should_do_concurrent_full_gc(GCCause::Cause cause);
483 void collect_mostly_concurrent(GCCause::Cause cause); 486 void collect_mostly_concurrent(GCCause::Cause cause);
484 487
488 // Save the tops of the spaces in all generations
489 void record_gen_tops_before_GC() PRODUCT_RETURN;
490
485 protected: 491 protected:
486 virtual void gc_prologue(bool full); 492 virtual void gc_prologue(bool full);
487 virtual void gc_epilogue(bool full); 493 virtual void gc_epilogue(bool full);
488 494
489 public: 495 public: