src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp

Print this page




 103       _sum += _data[i];
 104     }
 105     _average = (double)_sum / (double)_length;
 106     _has_new_data = false;
 107   }
 108 };
 109 
 110 class G1GCPhaseTimes : public CHeapObj<mtGC> {
 111 
 112  private:
 113   uint _active_gc_threads;
 114   uint _max_gc_threads;
 115 
 116   WorkerDataArray<double> _last_gc_worker_start_times_ms;
 117   WorkerDataArray<double> _last_ext_root_scan_times_ms;
 118   WorkerDataArray<double> _last_satb_filtering_times_ms;
 119   WorkerDataArray<double> _last_update_rs_times_ms;
 120   WorkerDataArray<int>    _last_update_rs_processed_buffers;
 121   WorkerDataArray<double> _last_scan_rs_times_ms;
 122   WorkerDataArray<double> _last_strong_code_root_scan_times_ms;
 123   WorkerDataArray<double> _last_strong_code_root_mark_times_ms;
 124   WorkerDataArray<double> _last_obj_copy_times_ms;
 125   WorkerDataArray<double> _last_termination_times_ms;
 126   WorkerDataArray<size_t> _last_termination_attempts;
 127   WorkerDataArray<double> _last_gc_worker_end_times_ms;
 128   WorkerDataArray<double> _last_gc_worker_times_ms;
 129   WorkerDataArray<double> _last_gc_worker_other_times_ms;
 130 
 131   double _cur_collection_par_time_ms;
 132   double _cur_collection_code_root_fixup_time_ms;
 133   double _cur_strong_code_root_migration_time_ms;
 134   double _cur_strong_code_root_purge_time_ms;
 135 
 136   double _cur_evac_fail_recalc_used;
 137   double _cur_evac_fail_restore_remsets;
 138   double _cur_evac_fail_remove_self_forwards;
 139 
 140   double                  _cur_string_dedup_fixup_time_ms;
 141   WorkerDataArray<double> _cur_string_dedup_queue_fixup_worker_times_ms;
 142   WorkerDataArray<double> _cur_string_dedup_table_fixup_worker_times_ms;
 143 


 182   void record_satb_filtering_time(uint worker_i, double ms) {
 183     _last_satb_filtering_times_ms.set(worker_i, ms);
 184   }
 185 
 186   void record_update_rs_time(uint worker_i, double ms) {
 187     _last_update_rs_times_ms.set(worker_i, ms);
 188   }
 189 
 190   void record_update_rs_processed_buffers(uint worker_i, int processed_buffers) {
 191     _last_update_rs_processed_buffers.set(worker_i, processed_buffers);
 192   }
 193 
 194   void record_scan_rs_time(uint worker_i, double ms) {
 195     _last_scan_rs_times_ms.set(worker_i, ms);
 196   }
 197 
 198   void record_strong_code_root_scan_time(uint worker_i, double ms) {
 199     _last_strong_code_root_scan_times_ms.set(worker_i, ms);
 200   }
 201 
 202   void record_strong_code_root_mark_time(uint worker_i, double ms) {
 203     _last_strong_code_root_mark_times_ms.set(worker_i, ms);
 204   }
 205 
 206   void record_obj_copy_time(uint worker_i, double ms) {
 207     _last_obj_copy_times_ms.set(worker_i, ms);
 208   }
 209 
 210   void add_obj_copy_time(uint worker_i, double ms) {
 211     _last_obj_copy_times_ms.add(worker_i, ms);
 212   }
 213 
 214   void record_termination(uint worker_i, double ms, size_t attempts) {
 215     _last_termination_times_ms.set(worker_i, ms);
 216     _last_termination_attempts.set(worker_i, attempts);
 217   }
 218 
 219   void record_gc_worker_end_time(uint worker_i, double ms) {
 220     _last_gc_worker_end_times_ms.set(worker_i, ms);
 221   }
 222 
 223   void record_clear_ct_time(double ms) {
 224     _cur_clear_ct_time_ms = ms;
 225   }


 350   }
 351 
 352   double non_young_free_cset_time_ms() {
 353     return _recorded_non_young_free_cset_time_ms;
 354   }
 355 
 356   double average_last_update_rs_time() {
 357     return _last_update_rs_times_ms.average();
 358   }
 359 
 360   int sum_last_update_rs_processed_buffers() {
 361     return _last_update_rs_processed_buffers.sum();
 362   }
 363 
 364   double average_last_scan_rs_time(){
 365     return _last_scan_rs_times_ms.average();
 366   }
 367 
 368   double average_last_strong_code_root_scan_time(){
 369     return _last_strong_code_root_scan_times_ms.average();
 370   }
 371 
 372   double average_last_strong_code_root_mark_time(){
 373     return _last_strong_code_root_mark_times_ms.average();
 374   }
 375 
 376   double average_last_obj_copy_time() {
 377     return _last_obj_copy_times_ms.average();
 378   }
 379 
 380   double average_last_termination_time() {
 381     return _last_termination_times_ms.average();
 382   }
 383 
 384   double average_last_ext_root_scan_time() {
 385     return _last_ext_root_scan_times_ms.average();
 386   }
 387 
 388   double average_last_satb_filtering_times_ms() {
 389     return _last_satb_filtering_times_ms.average();
 390   }
 391 };
 392 
 393 #endif // SHARE_VM_GC_IMPLEMENTATION_G1_G1GCPHASETIMESLOG_HPP


 103       _sum += _data[i];
 104     }
 105     _average = (double)_sum / (double)_length;
 106     _has_new_data = false;
 107   }
 108 };
 109 
 110 class G1GCPhaseTimes : public CHeapObj<mtGC> {
 111 
 112  private:
 113   uint _active_gc_threads;
 114   uint _max_gc_threads;
 115 
 116   WorkerDataArray<double> _last_gc_worker_start_times_ms;
 117   WorkerDataArray<double> _last_ext_root_scan_times_ms;
 118   WorkerDataArray<double> _last_satb_filtering_times_ms;
 119   WorkerDataArray<double> _last_update_rs_times_ms;
 120   WorkerDataArray<int>    _last_update_rs_processed_buffers;
 121   WorkerDataArray<double> _last_scan_rs_times_ms;
 122   WorkerDataArray<double> _last_strong_code_root_scan_times_ms;

 123   WorkerDataArray<double> _last_obj_copy_times_ms;
 124   WorkerDataArray<double> _last_termination_times_ms;
 125   WorkerDataArray<size_t> _last_termination_attempts;
 126   WorkerDataArray<double> _last_gc_worker_end_times_ms;
 127   WorkerDataArray<double> _last_gc_worker_times_ms;
 128   WorkerDataArray<double> _last_gc_worker_other_times_ms;
 129 
 130   double _cur_collection_par_time_ms;
 131   double _cur_collection_code_root_fixup_time_ms;
 132   double _cur_strong_code_root_migration_time_ms;
 133   double _cur_strong_code_root_purge_time_ms;
 134 
 135   double _cur_evac_fail_recalc_used;
 136   double _cur_evac_fail_restore_remsets;
 137   double _cur_evac_fail_remove_self_forwards;
 138 
 139   double                  _cur_string_dedup_fixup_time_ms;
 140   WorkerDataArray<double> _cur_string_dedup_queue_fixup_worker_times_ms;
 141   WorkerDataArray<double> _cur_string_dedup_table_fixup_worker_times_ms;
 142 


 181   void record_satb_filtering_time(uint worker_i, double ms) {
 182     _last_satb_filtering_times_ms.set(worker_i, ms);
 183   }
 184 
 185   void record_update_rs_time(uint worker_i, double ms) {
 186     _last_update_rs_times_ms.set(worker_i, ms);
 187   }
 188 
 189   void record_update_rs_processed_buffers(uint worker_i, int processed_buffers) {
 190     _last_update_rs_processed_buffers.set(worker_i, processed_buffers);
 191   }
 192 
 193   void record_scan_rs_time(uint worker_i, double ms) {
 194     _last_scan_rs_times_ms.set(worker_i, ms);
 195   }
 196 
 197   void record_strong_code_root_scan_time(uint worker_i, double ms) {
 198     _last_strong_code_root_scan_times_ms.set(worker_i, ms);
 199   }
 200 




 201   void record_obj_copy_time(uint worker_i, double ms) {
 202     _last_obj_copy_times_ms.set(worker_i, ms);
 203   }
 204 
 205   void add_obj_copy_time(uint worker_i, double ms) {
 206     _last_obj_copy_times_ms.add(worker_i, ms);
 207   }
 208 
 209   void record_termination(uint worker_i, double ms, size_t attempts) {
 210     _last_termination_times_ms.set(worker_i, ms);
 211     _last_termination_attempts.set(worker_i, attempts);
 212   }
 213 
 214   void record_gc_worker_end_time(uint worker_i, double ms) {
 215     _last_gc_worker_end_times_ms.set(worker_i, ms);
 216   }
 217 
 218   void record_clear_ct_time(double ms) {
 219     _cur_clear_ct_time_ms = ms;
 220   }


 345   }
 346 
 347   double non_young_free_cset_time_ms() {
 348     return _recorded_non_young_free_cset_time_ms;
 349   }
 350 
 351   double average_last_update_rs_time() {
 352     return _last_update_rs_times_ms.average();
 353   }
 354 
 355   int sum_last_update_rs_processed_buffers() {
 356     return _last_update_rs_processed_buffers.sum();
 357   }
 358 
 359   double average_last_scan_rs_time(){
 360     return _last_scan_rs_times_ms.average();
 361   }
 362 
 363   double average_last_strong_code_root_scan_time(){
 364     return _last_strong_code_root_scan_times_ms.average();




 365   }
 366 
 367   double average_last_obj_copy_time() {
 368     return _last_obj_copy_times_ms.average();
 369   }
 370 
 371   double average_last_termination_time() {
 372     return _last_termination_times_ms.average();
 373   }
 374 
 375   double average_last_ext_root_scan_time() {
 376     return _last_ext_root_scan_times_ms.average();
 377   }
 378 
 379   double average_last_satb_filtering_times_ms() {
 380     return _last_satb_filtering_times_ms.average();
 381   }
 382 };
 383 
 384 #endif // SHARE_VM_GC_IMPLEMENTATION_G1_G1GCPHASETIMESLOG_HPP