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

Stefan Johansson stefan.johansson at oracle.com
Wed Nov 4 13:37:10 UTC 2015


Hi Mikael,

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.

Thanks,
Stefan

> Testing: JPRT
>
> Thanks
> /Mikael



More information about the hotspot-gc-dev mailing list