162 } |
162 } |
163 |
163 |
164 RefProcTotalPhaseTimesTracker::RefProcTotalPhaseTimesTracker(ReferenceProcessor::RefProcPhases phase_number, |
164 RefProcTotalPhaseTimesTracker::RefProcTotalPhaseTimesTracker(ReferenceProcessor::RefProcPhases phase_number, |
165 ReferenceProcessorPhaseTimes* phase_times, |
165 ReferenceProcessorPhaseTimes* phase_times, |
166 ReferenceProcessor* rp) : |
166 ReferenceProcessor* rp) : |
167 _rp(rp), RefProcPhaseTimeBaseTracker(phase_enum_2_phase_string(phase_number), phase_number, phase_times) { |
167 RefProcPhaseTimeBaseTracker(phase_enum_2_phase_string(phase_number), phase_number, phase_times), _rp(rp) { |
168 } |
168 } |
169 |
169 |
170 RefProcTotalPhaseTimesTracker::~RefProcTotalPhaseTimesTracker() { |
170 RefProcTotalPhaseTimesTracker::~RefProcTotalPhaseTimesTracker() { |
171 double elapsed = elapsed_time(); |
171 double elapsed = elapsed_time(); |
172 phase_times()->set_phase_time_ms(_phase_number, elapsed); |
172 phase_times()->set_phase_time_ms(_phase_number, elapsed); |
173 } |
173 } |
174 |
174 |
175 ReferenceProcessorPhaseTimes::ReferenceProcessorPhaseTimes(GCTimer* gc_timer, uint max_gc_threads) : |
175 ReferenceProcessorPhaseTimes::ReferenceProcessorPhaseTimes(GCTimer* gc_timer, uint max_gc_threads) : |
176 _gc_timer(gc_timer), _processing_is_mt(false) { |
176 _processing_is_mt(false), _gc_timer(gc_timer) { |
177 |
177 |
178 for (uint i = 0; i < ReferenceProcessor::RefSubPhaseMax; i++) { |
178 for (uint i = 0; i < ReferenceProcessor::RefSubPhaseMax; i++) { |
179 _sub_phases_worker_time_sec[i] = new WorkerDataArray<double>(max_gc_threads, SubPhasesParWorkTitle[i]); |
179 _sub_phases_worker_time_sec[i] = new WorkerDataArray<double>(max_gc_threads, SubPhasesParWorkTitle[i]); |
180 } |
180 } |
181 _phase2_worker_time_sec = new WorkerDataArray<double>(max_gc_threads, Phase2ParWorkTitle); |
181 _phase2_worker_time_sec = new WorkerDataArray<double>(max_gc_threads, Phase2ParWorkTitle); |