RFR: 8057722 G1: Code root hashtable updated incorrectly when evacuation failed
Jesper Wilhelmsson
jesper.wilhelmsson at oracle.com
Tue Sep 9 12:56:44 UTC 2014
Looks good!
/Jesper
Mikael Gerdin skrev 8/9/14 18:00:
> Hi all,
>
> When processing evacuation failures the code root hashtable is walked to
> determine which code roots should still be present after the failed
> evacuation.
> The condition used to determine if an entry should be removed was accidentally
> inverted. This caused some missing nmethod remembered set entries after
> evacuation failures.
>
> I also noticed a problem where the _length field was not properly updated
> after evacuation failures, I fixed this as well and factored out the code to
> remove a hashtable entry to a separate function.
>
> Buglink: https://bugs.openjdk.java.net/browse/JDK-8057722
> Webrev: http://cr.openjdk.java.net/~mgerdin/8057722/webrev.0/
>
> Testing done: Failing test (with and without
> "-XX:+G1EvacuationFailureALot
> -XX:+VerifyAfterGC
> -XX:+G1VerifyHeapRegionCodeRoots"
> which easily triggers the assert)
>
> /Mikael
>
More information about the hotspot-gc-dev
mailing list