hotspot/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp
changeset 25492 d27050bdfb04
parent 25491 70fb742e40aa
child 25889 221296ac4359
equal deleted inserted replaced
25491:70fb742e40aa 25492:d27050bdfb04
   165   _last_satb_filtering_times_ms(_max_gc_threads, "%.1lf"),
   165   _last_satb_filtering_times_ms(_max_gc_threads, "%.1lf"),
   166   _last_update_rs_times_ms(_max_gc_threads, "%.1lf"),
   166   _last_update_rs_times_ms(_max_gc_threads, "%.1lf"),
   167   _last_update_rs_processed_buffers(_max_gc_threads, "%d"),
   167   _last_update_rs_processed_buffers(_max_gc_threads, "%d"),
   168   _last_scan_rs_times_ms(_max_gc_threads, "%.1lf"),
   168   _last_scan_rs_times_ms(_max_gc_threads, "%.1lf"),
   169   _last_strong_code_root_scan_times_ms(_max_gc_threads, "%.1lf"),
   169   _last_strong_code_root_scan_times_ms(_max_gc_threads, "%.1lf"),
   170   _last_strong_code_root_mark_times_ms(_max_gc_threads, "%.1lf"),
       
   171   _last_obj_copy_times_ms(_max_gc_threads, "%.1lf"),
   170   _last_obj_copy_times_ms(_max_gc_threads, "%.1lf"),
   172   _last_termination_times_ms(_max_gc_threads, "%.1lf"),
   171   _last_termination_times_ms(_max_gc_threads, "%.1lf"),
   173   _last_termination_attempts(_max_gc_threads, SIZE_FORMAT),
   172   _last_termination_attempts(_max_gc_threads, SIZE_FORMAT),
   174   _last_gc_worker_end_times_ms(_max_gc_threads, "%.1lf", false),
   173   _last_gc_worker_end_times_ms(_max_gc_threads, "%.1lf", false),
   175   _last_gc_worker_times_ms(_max_gc_threads, "%.1lf"),
   174   _last_gc_worker_times_ms(_max_gc_threads, "%.1lf"),
   192   _last_satb_filtering_times_ms.reset();
   191   _last_satb_filtering_times_ms.reset();
   193   _last_update_rs_times_ms.reset();
   192   _last_update_rs_times_ms.reset();
   194   _last_update_rs_processed_buffers.reset();
   193   _last_update_rs_processed_buffers.reset();
   195   _last_scan_rs_times_ms.reset();
   194   _last_scan_rs_times_ms.reset();
   196   _last_strong_code_root_scan_times_ms.reset();
   195   _last_strong_code_root_scan_times_ms.reset();
   197   _last_strong_code_root_mark_times_ms.reset();
       
   198   _last_obj_copy_times_ms.reset();
   196   _last_obj_copy_times_ms.reset();
   199   _last_termination_times_ms.reset();
   197   _last_termination_times_ms.reset();
   200   _last_termination_attempts.reset();
   198   _last_termination_attempts.reset();
   201   _last_gc_worker_end_times_ms.reset();
   199   _last_gc_worker_end_times_ms.reset();
   202   _last_gc_worker_times_ms.reset();
   200   _last_gc_worker_times_ms.reset();
   213   _last_satb_filtering_times_ms.verify();
   211   _last_satb_filtering_times_ms.verify();
   214   _last_update_rs_times_ms.verify();
   212   _last_update_rs_times_ms.verify();
   215   _last_update_rs_processed_buffers.verify();
   213   _last_update_rs_processed_buffers.verify();
   216   _last_scan_rs_times_ms.verify();
   214   _last_scan_rs_times_ms.verify();
   217   _last_strong_code_root_scan_times_ms.verify();
   215   _last_strong_code_root_scan_times_ms.verify();
   218   _last_strong_code_root_mark_times_ms.verify();
       
   219   _last_obj_copy_times_ms.verify();
   216   _last_obj_copy_times_ms.verify();
   220   _last_termination_times_ms.verify();
   217   _last_termination_times_ms.verify();
   221   _last_termination_attempts.verify();
   218   _last_termination_attempts.verify();
   222   _last_gc_worker_end_times_ms.verify();
   219   _last_gc_worker_end_times_ms.verify();
   223 
   220 
   228     double worker_known_time = _last_ext_root_scan_times_ms.get(i) +
   225     double worker_known_time = _last_ext_root_scan_times_ms.get(i) +
   229                                _last_satb_filtering_times_ms.get(i) +
   226                                _last_satb_filtering_times_ms.get(i) +
   230                                _last_update_rs_times_ms.get(i) +
   227                                _last_update_rs_times_ms.get(i) +
   231                                _last_scan_rs_times_ms.get(i) +
   228                                _last_scan_rs_times_ms.get(i) +
   232                                _last_strong_code_root_scan_times_ms.get(i) +
   229                                _last_strong_code_root_scan_times_ms.get(i) +
   233                                _last_strong_code_root_mark_times_ms.get(i) +
       
   234                                _last_obj_copy_times_ms.get(i) +
   230                                _last_obj_copy_times_ms.get(i) +
   235                                _last_termination_times_ms.get(i);
   231                                _last_termination_times_ms.get(i);
   236 
   232 
   237     double worker_other_time = worker_time - worker_known_time;
   233     double worker_other_time = worker_time - worker_known_time;
   238     _last_gc_worker_other_times_ms.set(i, worker_other_time);
   234     _last_gc_worker_other_times_ms.set(i, worker_other_time);
   299     print_stats(1, "Parallel Time", _cur_collection_par_time_ms, _active_gc_threads);
   295     print_stats(1, "Parallel Time", _cur_collection_par_time_ms, _active_gc_threads);
   300     _last_gc_worker_start_times_ms.print(2, "GC Worker Start (ms)");
   296     _last_gc_worker_start_times_ms.print(2, "GC Worker Start (ms)");
   301     _last_ext_root_scan_times_ms.print(2, "Ext Root Scanning (ms)");
   297     _last_ext_root_scan_times_ms.print(2, "Ext Root Scanning (ms)");
   302     if (_last_satb_filtering_times_ms.sum() > 0.0) {
   298     if (_last_satb_filtering_times_ms.sum() > 0.0) {
   303       _last_satb_filtering_times_ms.print(2, "SATB Filtering (ms)");
   299       _last_satb_filtering_times_ms.print(2, "SATB Filtering (ms)");
   304     }
       
   305     if (_last_strong_code_root_mark_times_ms.sum() > 0.0) {
       
   306      _last_strong_code_root_mark_times_ms.print(2, "Code Root Marking (ms)");
       
   307     }
   300     }
   308     _last_update_rs_times_ms.print(2, "Update RS (ms)");
   301     _last_update_rs_times_ms.print(2, "Update RS (ms)");
   309       _last_update_rs_processed_buffers.print(3, "Processed Buffers");
   302       _last_update_rs_processed_buffers.print(3, "Processed Buffers");
   310     _last_scan_rs_times_ms.print(2, "Scan RS (ms)");
   303     _last_scan_rs_times_ms.print(2, "Scan RS (ms)");
   311     _last_strong_code_root_scan_times_ms.print(2, "Code Root Scanning (ms)");
   304     _last_strong_code_root_scan_times_ms.print(2, "Code Root Scanning (ms)");
   319     _last_gc_worker_end_times_ms.print(2, "GC Worker End (ms)");
   312     _last_gc_worker_end_times_ms.print(2, "GC Worker End (ms)");
   320   } else {
   313   } else {
   321     _last_ext_root_scan_times_ms.print(1, "Ext Root Scanning (ms)");
   314     _last_ext_root_scan_times_ms.print(1, "Ext Root Scanning (ms)");
   322     if (_last_satb_filtering_times_ms.sum() > 0.0) {
   315     if (_last_satb_filtering_times_ms.sum() > 0.0) {
   323       _last_satb_filtering_times_ms.print(1, "SATB Filtering (ms)");
   316       _last_satb_filtering_times_ms.print(1, "SATB Filtering (ms)");
   324     }
       
   325     if (_last_strong_code_root_mark_times_ms.sum() > 0.0) {
       
   326       _last_strong_code_root_mark_times_ms.print(1, "Code Root Marking (ms)");
       
   327     }
   317     }
   328     _last_update_rs_times_ms.print(1, "Update RS (ms)");
   318     _last_update_rs_times_ms.print(1, "Update RS (ms)");
   329       _last_update_rs_processed_buffers.print(2, "Processed Buffers");
   319       _last_update_rs_processed_buffers.print(2, "Processed Buffers");
   330     _last_scan_rs_times_ms.print(1, "Scan RS (ms)");
   320     _last_scan_rs_times_ms.print(1, "Scan RS (ms)");
   331     _last_strong_code_root_scan_times_ms.print(1, "Code Root Scanning (ms)");
   321     _last_strong_code_root_scan_times_ms.print(1, "Code Root Scanning (ms)");