RFR: In update-refs, update all code-roots when in degen-gc
Aleksey Shipilev
shade at redhat.com
Wed Sep 12 10:42:36 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
More information about the shenandoah-dev
mailing list