8254103: Shenandoah: Move updating thread roots to concurrent phase

Reviewed-by: rkennke
This commit is contained in:
Zhengyu Gu 2020-10-08 13:50:57 +00:00
parent 7e82ba1ff0
commit d036dca085
4 changed files with 45 additions and 2 deletions

View file

@ -449,6 +449,10 @@ void ShenandoahControlThread::service_concurrent_normal_cycle(GCCause::Cause cau
heap->entry_updaterefs();
if (check_cancellation_or_degen(ShenandoahHeap::_degenerated_updaterefs)) return;
// Concurrent update thread roots
heap->entry_update_thread_roots();
if (check_cancellation_or_degen(ShenandoahHeap::_degenerated_updaterefs)) return;
heap->vmop_entry_final_updaterefs();
// Update references freed up collection set, kick the cleanup to reclaim the space.