Request for review (m) - 8008508: CMS does not correctly reduce heap size after a Full GC
Jon Masamitsu
jon.masamitsu at oracle.com
Wed Feb 20 05:29:02 UTC 2013
8008508: CMS does not correctly reduce heap size after a Full GC
http://cr.openjdk.java.net/~jmasa/8008508/webrev.00/
The CMS generation has a CompactibleFreeListSpace that describes
its part of the heap space. The free space of a CompactibleFreeListSpace
is maintained in freelists and it is cannot shrink in the simple
the ContiguousSpaces shrink. The exception is after a full GC when
all the free space in the CMS geneartion is in a single chunk at the
end of the CompactibleFreeListSpace. This change treats the free space
in the CMS generation like a ContiguousSpace and shrinks it using the
same policy as many of the other generations.
Move the method compute_new_size() from the TenuredGeneration into
the CardGeneration when it can be shared with the ConcMarkSweepGeneration.
Some associated variables are also moved.
Added a compute_new_space_free_list() and associated methods for
managing the size of the CompactibleFreeListSpace in the CMS generation.
The method shrink_free_list_by() still does not shrink the CMS generation.
Thanks.
More information about the hotspot-gc-dev
mailing list