Request for review (m) - 8008508: CMS does not correctly reduce heap size after a Full GC

Jon Masamitsu jon.masamitsu at oracle.com
Tue Feb 26 23:47:19 UTC 2013


I've updated the webrev for review comments (thanks, JohnCu)

http://cr.openjdk.java.net/~jmasa/8008508/webrev.01/

On 2/19/2013 9:29 PM, Jon Masamitsu wrote:
> 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