CRR: 7042285: G1: native memory leak during humongous object allocation (S/M)

Tony Printezis tony.printezis at
Wed May 11 19:31:23 UTC 2011

Hi all,

Can I get a couple of code reviews for this change:

When we grow the heap we create new HeapRegion instances for the regions 
we are committing. Unfortunately, when we shrink the heap, we are not 
reclaiming the HeapRegion instances for the regions we are uncommitting. 
So, we are leaking HeapRegion instances.

The fix is to keep track of all the HeapRegion instances we create, even 
if when we shrink the heap (again we don't reclaim them but we don't 
remove them from the _regions array either), to be able to re-use them 
in the future (i.e., for a particular region we'll only create its 
HeapRegion instance at most once, irrespective how many times we'll 
commit it / uncommit it).


More information about the hotspot-gc-dev mailing list