< prev index next >

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

Print this page

        

*** 26,35 **** --- 26,36 ---- #include "precompiled.hpp" #include "gc_implementation/g1/g1CollectedHeap.inline.hpp" #include "gc_implementation/g1/g1GCPhaseTimes.hpp" #include "gc_implementation/g1/g1Log.hpp" #include "gc_implementation/g1/g1StringDedup.hpp" + #include "runtime/atomic.inline.hpp" // Helper class for avoiding interleaved logging class LineBuffer: public StackObj { private:
*** 148,158 **** template <class T> void WorkerDataArray<T>::verify() { for (uint i = 0; i < _length; i++) { assert(_data[i] != _uninitialized, ! err_msg("Invalid data for worker " UINT32_FORMAT ", data: %lf, uninitialized: %lf", i, (double)_data[i], (double)_uninitialized)); } } #endif --- 149,159 ---- template <class T> void WorkerDataArray<T>::verify() { for (uint i = 0; i < _length; i++) { assert(_data[i] != _uninitialized, ! err_msg("Invalid data for worker %u, data: %lf, uninitialized: %lf", i, (double)_data[i], (double)_uninitialized)); } } #endif
*** 257,267 **** void G1GCPhaseTimes::print_stats(int level, const char* str, size_t value) { LineBuffer(level).append_and_print_cr("[%s: "SIZE_FORMAT"]", str, value); } void G1GCPhaseTimes::print_stats(int level, const char* str, double value, uint workers) { ! LineBuffer(level).append_and_print_cr("[%s: %.1lf ms, GC Workers: " UINT32_FORMAT "]", str, value, workers); } double G1GCPhaseTimes::accounted_time_ms() { // Subtract the root region scanning wait time. It's initialized to // zero at the start of the pause. --- 258,268 ---- void G1GCPhaseTimes::print_stats(int level, const char* str, size_t value) { LineBuffer(level).append_and_print_cr("[%s: "SIZE_FORMAT"]", str, value); } void G1GCPhaseTimes::print_stats(int level, const char* str, double value, uint workers) { ! LineBuffer(level).append_and_print_cr("[%s: %.1lf ms, GC Workers: %u]", str, value, workers); } double G1GCPhaseTimes::accounted_time_ms() { // Subtract the root region scanning wait time. It's initialized to // zero at the start of the pause.
*** 289,299 **** void G1GCPhaseTimes::print(double pause_time_sec) { if (_root_region_scan_wait_time_ms > 0.0) { print_stats(1, "Root Region Scan Waiting", _root_region_scan_wait_time_ms); } - if (G1CollectedHeap::use_parallel_gc_threads()) { print_stats(1, "Parallel Time", _cur_collection_par_time_ms, _active_gc_threads); _last_gc_worker_start_times_ms.print(2, "GC Worker Start (ms)"); _last_ext_root_scan_times_ms.print(2, "Ext Root Scanning (ms)"); if (_last_satb_filtering_times_ms.sum() > 0.0) { _last_satb_filtering_times_ms.print(2, "SATB Filtering (ms)"); --- 290,299 ----
*** 308,328 **** _last_termination_attempts.print(3, "Termination Attempts"); } _last_gc_worker_other_times_ms.print(2, "GC Worker Other (ms)"); _last_gc_worker_times_ms.print(2, "GC Worker Total (ms)"); _last_gc_worker_end_times_ms.print(2, "GC Worker End (ms)"); ! } else { ! _last_ext_root_scan_times_ms.print(1, "Ext Root Scanning (ms)"); ! if (_last_satb_filtering_times_ms.sum() > 0.0) { ! _last_satb_filtering_times_ms.print(1, "SATB Filtering (ms)"); ! } ! _last_update_rs_times_ms.print(1, "Update RS (ms)"); ! _last_update_rs_processed_buffers.print(2, "Processed Buffers"); ! _last_scan_rs_times_ms.print(1, "Scan RS (ms)"); ! _last_strong_code_root_scan_times_ms.print(1, "Code Root Scanning (ms)"); ! _last_obj_copy_times_ms.print(1, "Object Copy (ms)"); ! } print_stats(1, "Code Root Fixup", _cur_collection_code_root_fixup_time_ms); print_stats(1, "Code Root Purge", _cur_strong_code_root_purge_time_ms); if (G1StringDedup::is_enabled()) { print_stats(1, "String Dedup Fixup", _cur_string_dedup_fixup_time_ms, _active_gc_threads); _cur_string_dedup_queue_fixup_worker_times_ms.print(2, "Queue Fixup (ms)"); --- 308,318 ---- _last_termination_attempts.print(3, "Termination Attempts"); } _last_gc_worker_other_times_ms.print(2, "GC Worker Other (ms)"); _last_gc_worker_times_ms.print(2, "GC Worker Total (ms)"); _last_gc_worker_end_times_ms.print(2, "GC Worker End (ms)"); ! print_stats(1, "Code Root Fixup", _cur_collection_code_root_fixup_time_ms); print_stats(1, "Code Root Purge", _cur_strong_code_root_purge_time_ms); if (G1StringDedup::is_enabled()) { print_stats(1, "String Dedup Fixup", _cur_string_dedup_fixup_time_ms, _active_gc_threads); _cur_string_dedup_queue_fixup_worker_times_ms.print(2, "Queue Fixup (ms)");
< prev index next >