< prev index next >

src/share/vm/gc_implementation/shenandoah/vm_operations_shenandoah.cpp

Print this page
rev 9705 : [backport] Implement early update references phase.

*** 129,138 **** --- 129,158 ---- sh->shenandoahPolicy()->record_phase_end(ShenandoahCollectorPolicy::final_mark); sh->shenandoahPolicy()->record_phase_end(ShenandoahCollectorPolicy::total_pause); } + void VM_ShenandoahInitUpdateRefs::doit() { + ShenandoahHeap *sh = ShenandoahHeap::heap(); + GCTraceTime time("Pause Init Update Refs", ShenandoahLogInfo, sh->gc_timer(), sh->tracer()->gc_id()); + sh->shenandoahPolicy()->record_phase_start(ShenandoahCollectorPolicy::total_pause); + sh->shenandoahPolicy()->record_phase_start(ShenandoahCollectorPolicy::init_update_refs); + sh->prepare_update_refs(); + sh->shenandoahPolicy()->record_phase_end(ShenandoahCollectorPolicy::init_update_refs); + sh->shenandoahPolicy()->record_phase_end(ShenandoahCollectorPolicy::total_pause); + } + + void VM_ShenandoahFinalUpdateRefs::doit() { + ShenandoahHeap *sh = ShenandoahHeap::heap(); + GCTraceTime time("Pause Final Update Refs", ShenandoahLogInfo, sh->gc_timer(), sh->tracer()->gc_id()); + sh->shenandoahPolicy()->record_phase_start(ShenandoahCollectorPolicy::total_pause); + sh->shenandoahPolicy()->record_phase_start(ShenandoahCollectorPolicy::final_update_refs); + sh->finish_update_refs(); + sh->shenandoahPolicy()->record_phase_end(ShenandoahCollectorPolicy::final_update_refs); + sh->shenandoahPolicy()->record_phase_end(ShenandoahCollectorPolicy::total_pause); + } + void VM_ShenandoahVerifyHeapAfterEvacuation::doit() { ShenandoahHeap *sh = ShenandoahHeap::heap(); sh->verify_heap_after_evacuation();
< prev index next >