RFR (XS) 8141422: G1 eager reclaim card dirtying may dirty outide of allocated objects

Erik Helin erik.helin at oracle.com
Wed Nov 4 15:19:16 UTC 2015


On 2015-11-04, Mikael Gerdin wrote:
> Hi all,
> 
> We've discovered a small issue with the card dirtying used to support eager
> reclaim of humongous objects.
> 
> The problem is that when remembered set iteration yields a card which does
> not correspond to the allocated part of a region then that cards should be
> ignored. Currently the code only detects this situation when the ignored
> card covers an otherwise free region but this check needs to be extended to
> also check if the card corresponds to unallocated memory in an otherwise
> used region.
> An example of this situation is that the card corresponds to a part of
> memory above _top in a humongous region and this is what we are seeing in
> some test cases.
> 
> My suggested fix is to check "is_in_closed_subset" which will look up the
> corresponding region and verify that the address is within the allocated
> bounds of that region.
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8141422
> Webrev: http://cr.openjdk.java.net/~mgerdin/8141422/webrev.0/

Looks good, Reviewed.

Thanks,
Erik

> Testing: JPRT
> 
> Thanks
> /Mikael


More information about the hotspot-gc-dev mailing list