RFR: Fixup roots after partial GC failed

Zhengyu Gu zgu at redhat.com
Fri Sep 15 14:26:02 UTC 2017



On 09/15/2017 10:22 AM, Aleksey Shipilev wrote:
> On 09/15/2017 04:15 PM, Zhengyu Gu wrote:
>> We need to fixup roots after partial failed (just as SH::evacuate_and_update()). full-gc's
>> update_roots() does not do the trick, 'cause it crosses safepoints, frames moved.
>>
>>
>> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/evac_dpt/webrev.00/index.html
> 
> Looks good to me.
> 
> It is weird to see that partial GC abort is also handled by conc_gc_cancelled flag. This assumes we
> are sliding into Full GC at that point, right?
> 
>   341   } else {
>   342     // Fixup roots to make them consistent
>   343     _heap->fixup_roots();
>   344   }
> 
Yes.

Make me wonder if we still need update_roots() in full-gc, since we 
should fix them up before that.

Any opinions? or I will take a look.

Thanks,

-Zhengyu


> Thanks,
> -Aleksey
> 


More information about the shenandoah-dev mailing list