CRR: G1: assert((_g1->evacuation_failed()) || (!_g1->obj_in_cs(obj))) failed (XS)

Y. Srinivas Ramakrishna y.s.ramakrishna at oracle.com
Wed May 4 11:53:33 PDT 2011


Looks good to me.

-- ramki

On 5/4/2011 11:31 AM, Tony Printezis wrote:
> Hi all,
>
> I'd like one more review for this small fix:
>
> http://cr.openjdk.java.net/~tonyp/7040450/webrev.0/
>
> The problem was that the assert at the end of mark_forwardee() was too strong and if another thread
> self-forwarded the object we might have hit the assert before the other thread got a chance to set
> the evacuation failure flag. I removed the assert (as it's not straightforward to make it work in
> the presence of this race) and I added two new asserts in the evacuation handling code to make sure
> that the post-conditions are as expected before we get to mark_forwardee().
>
> Tony



More information about the hotspot-gc-dev mailing list