RFR: In update-refs, update all code-roots when in degen-gc

Roman Kennke rkennke at redhat.com
Wed Sep 12 11:02:58 UTC 2018


> On 09/12/2018 12:38 PM, Roman Kennke wrote:
>> diff --git a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
>> b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
>> --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
>> +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
>> @@ -2352,7 +2352,9 @@
>>    }
>>    assert(!cancelled_gc(), "Should have been done right before");
>>
>> -
>> concurrentMark()->update_roots(ShenandoahPhaseTimings::final_update_refs_roots);
>> +  concurrentMark()->update_roots(is_degenerated_gc_in_progress() ?
>> +                                 ShenandoahPhaseTimings::full_gc_roots:
>> +
> 
> This is awkward: degenerated GC is not full GC. It seems better to introduce
> ShenandoahPhaseTimings::degenerated_gc_roots and handle it in update_roots.
> 
> -Aleksey
> 

Right. Like this?

http://cr.openjdk.java.net/~rkennke/fix-assert-fwd/webrev.00/

Roman


More information about the shenandoah-dev mailing list