117 class ShenandoahRootEvacuator : public StackObj { |
117 class ShenandoahRootEvacuator : public StackObj { |
118 SubTasksDone* _evacuation_tasks; |
118 SubTasksDone* _evacuation_tasks; |
119 StrongRootsScope _srs; |
119 StrongRootsScope _srs; |
120 ShenandoahPhaseTimings::Phase _phase; |
120 ShenandoahPhaseTimings::Phase _phase; |
121 ShenandoahCsetCodeRootsIterator _coderoots_cset_iterator; |
121 ShenandoahCsetCodeRootsIterator _coderoots_cset_iterator; |
|
122 ParallelCLDRootIterator _cld_iterator; |
|
123 WeakProcessorPhaseTimes _weak_processor_timings; |
|
124 WeakProcessor::Task _weak_processor_task; |
122 |
125 |
123 enum Shenandoah_evacuate_roots_tasks { |
126 enum Shenandoah_evacuate_roots_tasks { |
124 SHENANDOAH_EVAC_Universe_oops_do, |
127 SHENANDOAH_EVAC_Universe_oops_do, |
125 SHENANDOAH_EVAC_ObjectSynchronizer_oops_do, |
128 SHENANDOAH_EVAC_ObjectSynchronizer_oops_do, |
126 SHENANDOAH_EVAC_Management_oops_do, |
129 SHENANDOAH_EVAC_Management_oops_do, |
127 SHENANDOAH_EVAC_SystemDictionary_oops_do, |
130 SHENANDOAH_EVAC_SystemDictionary_oops_do, |
128 SHENANDOAH_EVAC_jvmti_oops_do, |
131 SHENANDOAH_EVAC_jvmti_oops_do, |
|
132 SHENANDOAH_EVAC_JNIHandles_oops_do, |
129 // Leave this one last. |
133 // Leave this one last. |
130 SHENANDOAH_EVAC_NumElements |
134 SHENANDOAH_EVAC_NumElements |
131 }; |
135 }; |
132 public: |
136 public: |
133 ShenandoahRootEvacuator(ShenandoahHeap* heap, uint n_workers, |
137 ShenandoahRootEvacuator(ShenandoahHeap* heap, uint n_workers, |