Mercurial > hg > graal-compiler
comparison src/share/vm/compiler/compileBroker.cpp @ 7568:140d4d4ab3b9
added per-compiler compilation speed statistics for C1 and C2 (included in output produced by -XX:+CITime)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 30 Jan 2013 21:36:28 +0100 |
parents | 989155e2d07a |
children | 3ac7d10a6572 |
comparison
equal
deleted
inserted
replaced
7567:a8bc60aeacb8 | 7568:140d4d4ab3b9 |
---|---|
2080 if (CITime) { | 2080 if (CITime) { |
2081 _t_total_compilation.add(time); | 2081 _t_total_compilation.add(time); |
2082 if (is_osr) { | 2082 if (is_osr) { |
2083 _t_osr_compilation.add(time); | 2083 _t_osr_compilation.add(time); |
2084 _sum_osr_bytes_compiled += method->code_size() + task->num_inlined_bytecodes(); | 2084 _sum_osr_bytes_compiled += method->code_size() + task->num_inlined_bytecodes(); |
2085 #ifdef GRAAL | |
2086 compiler(task->comp_level())->stats()->_t_osr_compilation.add(time); | |
2087 compiler(task->comp_level())->stats()->_sum_osr_bytes_compiled += method->code_size() + task->num_inlined_bytecodes(); | |
2088 #endif | |
2085 } else { | 2089 } else { |
2086 _t_standard_compilation.add(time); | 2090 _t_standard_compilation.add(time); |
2087 _sum_standard_bytes_compiled += method->code_size() + task->num_inlined_bytecodes(); | 2091 _sum_standard_bytes_compiled += method->code_size() + task->num_inlined_bytecodes(); |
2092 #ifdef GRAAL | |
2093 compiler(task->comp_level())->stats()->_t_standard_compilation.add(time); | |
2094 compiler(task->comp_level())->stats()->_sum_standard_bytes_compiled += method->code_size() + task->num_inlined_bytecodes(); | |
2095 #endif | |
2088 } | 2096 } |
2089 } | 2097 } |
2090 | 2098 |
2091 if (UsePerfData) { | 2099 if (UsePerfData) { |
2092 // save the name of the last method compiled | 2100 // save the name of the last method compiled |
2155 tty->cr(); | 2163 tty->cr(); |
2156 int tcb = CompileBroker::_sum_osr_bytes_compiled + CompileBroker::_sum_standard_bytes_compiled; | 2164 int tcb = CompileBroker::_sum_osr_bytes_compiled + CompileBroker::_sum_standard_bytes_compiled; |
2157 tty->print_cr(" Total compiled bytecodes : %6d bytes", tcb); | 2165 tty->print_cr(" Total compiled bytecodes : %6d bytes", tcb); |
2158 tty->print_cr(" Standard compilation : %6d bytes", CompileBroker::_sum_standard_bytes_compiled); | 2166 tty->print_cr(" Standard compilation : %6d bytes", CompileBroker::_sum_standard_bytes_compiled); |
2159 tty->print_cr(" On stack replacement : %6d bytes", CompileBroker::_sum_osr_bytes_compiled); | 2167 tty->print_cr(" On stack replacement : %6d bytes", CompileBroker::_sum_osr_bytes_compiled); |
2160 int bps = (int)(tcb / CompileBroker::_t_total_compilation.seconds()); | 2168 double tcs = CompileBroker::_t_total_compilation.seconds(); |
2169 int bps = tcs == 0.0 ? 0 : (int)(tcb / tcs); | |
2161 tty->print_cr(" Average compilation speed: %6d bytes/s", bps); | 2170 tty->print_cr(" Average compilation speed: %6d bytes/s", bps); |
2171 #ifdef GRAAL | |
2172 for (unsigned int i = 0; i < sizeof(_compilers) / sizeof(AbstractCompiler*); i++) { | |
2173 AbstractCompiler* comp = _compilers[i]; | |
2174 if (comp != NULL) { | |
2175 CompilerStatistics* stats = comp->stats(); | |
2176 int bytecodes = stats->_sum_osr_bytes_compiled + stats->_sum_standard_bytes_compiled; | |
2177 if (bytecodes != 0) { | |
2178 double seconds = stats->_t_osr_compilation.seconds() + stats->_t_standard_compilation.seconds(); | |
2179 int bps = seconds == 0.0 ? 0 : (int) (bytecodes / seconds); | |
2180 tty->print_cr(" %7s compilation speed: %6d bytes/s {standard: %6.3f s, %6d bytes; osr: %6.3f s, %6d bytes}", | |
2181 comp->name(), bps, stats->_t_standard_compilation.seconds(), stats->_sum_standard_bytes_compiled, | |
2182 stats->_t_osr_compilation.seconds(), stats->_sum_osr_bytes_compiled); | |
2183 } | |
2184 } | |
2185 } | |
2186 #endif | |
2162 tty->cr(); | 2187 tty->cr(); |
2163 tty->print_cr(" nmethod code size : %6d bytes", CompileBroker::_sum_nmethod_code_size); | 2188 tty->print_cr(" nmethod code size : %6d bytes", CompileBroker::_sum_nmethod_code_size); |
2164 tty->print_cr(" nmethod total size : %6d bytes", CompileBroker::_sum_nmethod_size); | 2189 tty->print_cr(" nmethod total size : %6d bytes", CompileBroker::_sum_nmethod_size); |
2165 } | 2190 } |
2166 | 2191 |