RFR(M): 8220089: G1 wastes a significant amount of space in survivor regions

sangheon.kim at oracle.com sangheon.kim at oracle.com
Thu Mar 28 05:49:59 UTC 2019

Hi all,

Can I have some reviews for the patch that changes to reuse survivor 
region as mutator region?

Currently survivor region is released at the end of gc and then added to 
the next collection set. This means there would be waste if the survivor 
region has enough free space. As the survivor regions are converted to 
eden at the start of gc, reusing the *last* survivor region as a mutator 
region would maximize the use of heap region. This patch suggests to 
reuse the survivor region as described if the remaining free space 
satisfies a minimum threshold(currently, larger than or equal to minimum 

Some benchmarks(specjbb2015, specjbb2005, specjvm2008) that I ran didn't 
have noticeable improvement. However, I think this change would benefit 
more with NUMA implementation because the NUMA implementation manages 
survivor region per NUMA node. i.e. more wastes on multiple node system.

CR: https://bugs.openjdk.java.net/browse/JDK-8220089
webrev: http://cr.openjdk.java.net/~sangheki/8220089/webrev.0
              (based on JDK-8218668 webrev.1 which is under review now)
Testing: hs-tier1 ~ 5


More information about the hotspot-gc-dev mailing list