mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 11:34:38 +02:00
6672698: mangle_unused_area() should not remangle the entire heap at each collection
Maintain a high water mark for the allocations in a space and mangle only up to that high water mark. Reviewed-by: ysr, apetrusenko
This commit is contained in:
parent
0d9452401c
commit
18dbebd143
43 changed files with 1299 additions and 206 deletions
|
@ -259,6 +259,9 @@ public:
|
|||
// 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 @@ private:
|
|||
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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue