109 double _recorded_young_free_cset_time_ms;
110 double _recorded_non_young_free_cset_time_ms;
111
112 double _cur_fast_reclaim_humongous_time_ms;
113 double _cur_fast_reclaim_humongous_register_time_ms;
114 size_t _cur_fast_reclaim_humongous_total;
115 size_t _cur_fast_reclaim_humongous_candidates;
116 size_t _cur_fast_reclaim_humongous_reclaimed;
117
118 double _cur_verify_before_time_ms;
119 double _cur_verify_after_time_ms;
120
121 // Helper methods for detailed logging
122 void print_stats(const char*, const char* str, double value);
123
124 void note_gc_end();
125
126 public:
127 G1GCPhaseTimes(uint max_gc_threads);
128 void note_gc_start(uint active_gc_threads);
129 void print(double pause_time_sec);
130
131 // record the time a phase took in seconds
132 void record_time_secs(GCParPhases phase, uint worker_i, double secs);
133
134 // add a number of seconds to a phase
135 void add_time_secs(GCParPhases phase, uint worker_i, double secs);
136
137 void record_thread_work_item(GCParPhases phase, uint worker_i, size_t count);
138
139 // return the average time for a phase in milliseconds
140 double average_time_ms(GCParPhases phase);
141
142 size_t sum_thread_work_items(GCParPhases phase);
143
144 private:
145 double get_time_ms(GCParPhases phase, uint worker_i);
146 double sum_time_ms(GCParPhases phase);
147 double min_time_ms(GCParPhases phase);
148 double max_time_ms(GCParPhases phase);
149 size_t get_thread_work_item(GCParPhases phase, uint worker_i);
|
109 double _recorded_young_free_cset_time_ms;
110 double _recorded_non_young_free_cset_time_ms;
111
112 double _cur_fast_reclaim_humongous_time_ms;
113 double _cur_fast_reclaim_humongous_register_time_ms;
114 size_t _cur_fast_reclaim_humongous_total;
115 size_t _cur_fast_reclaim_humongous_candidates;
116 size_t _cur_fast_reclaim_humongous_reclaimed;
117
118 double _cur_verify_before_time_ms;
119 double _cur_verify_after_time_ms;
120
121 // Helper methods for detailed logging
122 void print_stats(const char*, const char* str, double value);
123
124 void note_gc_end();
125
126 public:
127 G1GCPhaseTimes(uint max_gc_threads);
128 void note_gc_start(uint active_gc_threads);
129 void print(double pause_time_ms);
130
131 // record the time a phase took in seconds
132 void record_time_secs(GCParPhases phase, uint worker_i, double secs);
133
134 // add a number of seconds to a phase
135 void add_time_secs(GCParPhases phase, uint worker_i, double secs);
136
137 void record_thread_work_item(GCParPhases phase, uint worker_i, size_t count);
138
139 // return the average time for a phase in milliseconds
140 double average_time_ms(GCParPhases phase);
141
142 size_t sum_thread_work_items(GCParPhases phase);
143
144 private:
145 double get_time_ms(GCParPhases phase, uint worker_i);
146 double sum_time_ms(GCParPhases phase);
147 double min_time_ms(GCParPhases phase);
148 double max_time_ms(GCParPhases phase);
149 size_t get_thread_work_item(GCParPhases phase, uint worker_i);
|