Skip to content
Permalink
Browse files

8242083: Shenandoah: split "Prepare Evacuation" tracking into cset/fr…

…eeset counters

Reviewed-by: rkennke
  • Loading branch information
shipilev committed Apr 3, 2020
1 parent 218d0f7 commit 21d5f88f409b19233fb12c7acf0c8af07e1d79fd
@@ -1501,14 +1501,15 @@ void ShenandoahHeap::op_final_mark() {
}

{
ShenandoahGCPhase phase(ShenandoahPhaseTimings::prepare_evac);

ShenandoahGCPhase phase(ShenandoahPhaseTimings::choose_cset);
ShenandoahHeapLocker locker(lock());
_collection_set->clear();
_free_set->clear();

heuristics()->choose_collection_set(_collection_set);
}

{
ShenandoahGCPhase phase(ShenandoahPhaseTimings::final_rebuild_freeset);
ShenandoahHeapLocker locker(lock());
_free_set->rebuild();
}

@@ -2512,6 +2513,7 @@ void ShenandoahHeap::op_final_updaterefs() {
}

{
ShenandoahGCPhase phase(ShenandoahPhaseTimings::final_update_refs_rebuild_freeset);
ShenandoahHeapLocker locker(lock());
_free_set->rebuild();
}
@@ -82,7 +82,8 @@ class outputStream;
f(complete_liveness, " Complete Liveness") \
f(retire_tlabs, " Retire TLABs") \
f(sync_pinned, " Sync Pinned") \
f(prepare_evac, " Prepare Evacuation") \
f(choose_cset, " Choose Collection Set") \
f(final_rebuild_freeset, " Rebuild Free Set") \
f(init_evac, " Initial Evacuation") \
SHENANDOAH_GC_PAR_PHASE_DO(evac_, " E: ", f) \
\
@@ -97,7 +98,8 @@ class outputStream;
f(final_update_refs_roots, " Update Roots") \
SHENANDOAH_GC_PAR_PHASE_DO(final_update_, " UR: ", f) \
f(final_update_refs_sync_pinned, " Sync Pinned") \
f(final_update_refs_trash_cset, " Trash CSet") \
f(final_update_refs_trash_cset, " Trash Collection Set") \
f(final_update_refs_rebuild_freeset, " Rebuild Free Set") \
\
f(degen_gc_gross, "Pause Degenerated GC (G)") \
f(degen_gc, "Pause Degenerated GC (N)") \

0 comments on commit 21d5f88

Please sign in to comment.