8242083: Shenandoah: split "Prepare Evacuation" tracking into cset/freeset counters

Reviewed-by: rkennke
This commit is contained in:
Aleksey Shipilev 2020-04-03 13:58:32 +02:00
parent 3ac91325d6
commit 3a52878498
2 changed files with 10 additions and 6 deletions

View File

@ -1496,14 +1496,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();
}
@ -2397,6 +2398,7 @@ void ShenandoahHeap::op_final_updaterefs() {
}
{
ShenandoahGCPhase phase(ShenandoahPhaseTimings::final_update_refs_rebuild_freeset);
ShenandoahHeapLocker locker(lock());
_free_set->rebuild();
}

View File

@ -80,7 +80,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) \
\
@ -95,7 +96,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)") \