src/share/vm/compiler/compileBroker.cpp

Print this page

        

*** 135,144 **** --- 135,146 ---- // Timers and counters for generating statistics elapsedTimer CompileBroker::_t_total_compilation; elapsedTimer CompileBroker::_t_osr_compilation; elapsedTimer CompileBroker::_t_standard_compilation; + elapsedTimer CompileBroker::_t_invalidated_compilation; + elapsedTimer CompileBroker::_t_bailedout_compilation; int CompileBroker::_total_bailout_count = 0; int CompileBroker::_total_invalidated_count = 0; int CompileBroker::_total_compile_count = 0; int CompileBroker::_total_osr_compile_count = 0;
*** 2245,2276 **** MutexLocker locker(CompileStatistics_lock); // _perf variables are production performance counters which are // updated regardless of the setting of the CITime and CITimeEach flags // if (!success) { _total_bailout_count++; if (UsePerfData) { _perf_last_failed_method->set_value(counters->current_method()); _perf_last_failed_type->set_value(counters->compile_type()); _perf_total_bailout_count->inc(); } } else if (code == NULL) { if (UsePerfData) { _perf_last_invalidated_method->set_value(counters->current_method()); _perf_last_invalidated_type->set_value(counters->compile_type()); _perf_total_invalidated_count->inc(); } _total_invalidated_count++; } else { // Compilation succeeded // update compilation ticks - used by the implementation of // java.lang.management.CompilationMBean _perf_total_compilation->inc(time.ticks()); - - _t_total_compilation.add(time); _peak_compilation_time = time.milliseconds() > _peak_compilation_time ? time.milliseconds() : _peak_compilation_time; if (CITime) { if (is_osr) { _t_osr_compilation.add(time); --- 2247,2283 ---- MutexLocker locker(CompileStatistics_lock); // _perf variables are production performance counters which are // updated regardless of the setting of the CITime and CITimeEach flags // + + // account all time, including bailouts and failures in this counter; + // C1 and C2 counters are counting both successful and unsuccessful compiles + _t_total_compilation.add(time); + if (!success) { _total_bailout_count++; if (UsePerfData) { _perf_last_failed_method->set_value(counters->current_method()); _perf_last_failed_type->set_value(counters->compile_type()); _perf_total_bailout_count->inc(); } + _t_bailedout_compilation.add(time); } else if (code == NULL) { if (UsePerfData) { _perf_last_invalidated_method->set_value(counters->current_method()); _perf_last_invalidated_type->set_value(counters->compile_type()); _perf_total_invalidated_count->inc(); } _total_invalidated_count++; + _t_invalidated_compilation.add(time); } else { // Compilation succeeded // update compilation ticks - used by the implementation of // java.lang.management.CompilationMBean _perf_total_compilation->inc(time.ticks()); _peak_compilation_time = time.milliseconds() > _peak_compilation_time ? time.milliseconds() : _peak_compilation_time; if (CITime) { if (is_osr) { _t_osr_compilation.add(time);
*** 2334,2359 **** } } void CompileBroker::print_times() { tty->cr(); ! tty->print_cr("Accumulated compiler times (for compiled methods only)"); ! tty->print_cr("------------------------------------------------"); //0000000000111111111122222222223333333333444444444455555555556666666666 //0123456789012345678901234567890123456789012345678901234567890123456789 ! tty->print_cr(" Total compilation time : %6.3f s", CompileBroker::_t_total_compilation.seconds()); ! tty->print_cr(" Standard compilation : %6.3f s, Average : %2.3f", CompileBroker::_t_standard_compilation.seconds(), CompileBroker::_t_standard_compilation.seconds() / CompileBroker::_total_standard_compile_count); ! tty->print_cr(" On stack replacement : %6.3f s, Average : %2.3f", CompileBroker::_t_osr_compilation.seconds(), CompileBroker::_t_osr_compilation.seconds() / CompileBroker::_total_osr_compile_count); AbstractCompiler *comp = compiler(CompLevel_simple); if (comp != NULL) { comp->print_timers(); } comp = compiler(CompLevel_full_optimization); if (comp != NULL) { comp->print_timers(); } tty->cr(); tty->print_cr(" Total compiled methods : %6d methods", CompileBroker::_total_compile_count); tty->print_cr(" Standard compilation : %6d methods", CompileBroker::_total_standard_compile_count); --- 2341,2376 ---- } } void CompileBroker::print_times() { tty->cr(); ! tty->print_cr("Accumulated compiler times"); ! tty->print_cr("----------------------------------------------------------"); //0000000000111111111122222222223333333333444444444455555555556666666666 //0123456789012345678901234567890123456789012345678901234567890123456789 ! tty->print_cr(" Total compilation time : %7.3f s", CompileBroker::_t_total_compilation.seconds()); ! tty->print_cr(" Standard compilation : %7.3f s, Average : %2.3f s", CompileBroker::_t_standard_compilation.seconds(), CompileBroker::_t_standard_compilation.seconds() / CompileBroker::_total_standard_compile_count); ! tty->print_cr(" Bailed out compilation : %7.3f s, Average : %2.3f s", ! CompileBroker::_t_bailedout_compilation.seconds(), ! CompileBroker::_t_bailedout_compilation.seconds() / CompileBroker::_total_bailout_count); ! tty->print_cr(" On stack replacement : %7.3f s, Average : %2.3f s", ! CompileBroker::_t_osr_compilation.seconds(), ! CompileBroker::_t_osr_compilation.seconds() / CompileBroker::_total_osr_compile_count); ! tty->print_cr(" Invalidated : %7.3f s, Average : %2.3f s", ! CompileBroker::_t_invalidated_compilation.seconds(), ! CompileBroker::_t_invalidated_compilation.seconds() / CompileBroker::_total_invalidated_count); AbstractCompiler *comp = compiler(CompLevel_simple); if (comp != NULL) { + tty->cr(); comp->print_timers(); } comp = compiler(CompLevel_full_optimization); if (comp != NULL) { + tty->cr(); comp->print_timers(); } tty->cr(); tty->print_cr(" Total compiled methods : %6d methods", CompileBroker::_total_compile_count); tty->print_cr(" Standard compilation : %6d methods", CompileBroker::_total_standard_compile_count);