CRR: G1: assert((_g1->evacuation_failed()) || (!_g1->obj_in_cs(obj))) failed (XS)
Tony Printezis
tony.printezis at oracle.com
Wed May 4 19:53:15 UTC 2011
Thanks Ramki! All set.
Y. Srinivas Ramakrishna wrote:
> 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