RFR(M): 8139867: Change how startsHumongous and continuesHumongous regions work in G1.

David Lindholm david.lindholm at oracle.com
Mon Nov 2 09:15:37 UTC 2015


Per offline discussions I have changed how we iterate heapRegions in 
this change.

Webrev: http://cr.openjdk.java.net/~david/JDK-8139867/webrev.01/
Webrev: http://cr.openjdk.java.net/~david/JDK-8139867/webrev.00-01/ (diff)


On 2015-10-29 14:34, David Lindholm wrote:
> Hi,
> Please review the following patch that changes how startsHumongous and 
> continuesHumongous regions work in G1. Before this patch the top and 
> end of the startsHumongous regions were set so that they covered the 
> entire object, pointing into the last continousHumongous region for 
> this object. So used() and capacity() of the startsHumongous region 
> could be substantially larger than a normal region size.
> Now each region is "self-contained", so top and end will not point 
> outside the region. This makes it possible to remove many special 
> cases in the code, and the model is more clear. Also, one doesn't have 
> to figure out if G1CollectedHeap::heap_region_containing_raw() or 
> G1CollectedHeap::heap_region_containing() should be called (only the 
> latter is left in the code).
> Bug: https://bugs.openjdk.java.net/browse/JDK-8139867
> Webrev: http://cr.openjdk.java.net/~david/JDK-8139867/webrev.00/
> Testing: Passed JPRT.
> Thanks,
> David

More information about the hotspot-gc-dev mailing list