< 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 >