Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp @ 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 | ba764ed4b6f2 |
children | 850fdf70db2b |
comparison
equal
deleted
inserted
replaced
225:286bee59f34b | 263:12eea04c8b06 |
---|---|
664 // |+ cur committed +++++++++++| | 664 // |+ cur committed +++++++++++| |
665 // |+ new committed +++++++| | 665 // |+ new committed +++++++| |
666 | 666 |
667 HeapWord* new_end_for_commit = | 667 HeapWord* new_end_for_commit = |
668 MIN2(cur_committed.end(), _guard_region.start()); | 668 MIN2(cur_committed.end(), _guard_region.start()); |
669 MemRegion new_committed = | 669 if(new_start_aligned < new_end_for_commit) { |
670 MemRegion(new_start_aligned, new_end_for_commit); | 670 MemRegion new_committed = |
671 if(!new_committed.is_empty()) { | 671 MemRegion(new_start_aligned, new_end_for_commit); |
672 if (!os::commit_memory((char*)new_committed.start(), | 672 if (!os::commit_memory((char*)new_committed.start(), |
673 new_committed.byte_size())) { | 673 new_committed.byte_size())) { |
674 vm_exit_out_of_memory(new_committed.byte_size(), | 674 vm_exit_out_of_memory(new_committed.byte_size(), |
675 "card table expansion"); | 675 "card table expansion"); |
676 } | 676 } |