RFR (XS) 8141422: G1 eager reclaim card dirtying may dirty outide of allocated objects
stefan.johansson at oracle.com
Wed Nov 4 13:37:10 UTC 2015
On 2015-11-04 14:20, 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/
Change looks good.
> Testing: JPRT
More information about the hotspot-gc-dev