Mercurial > hg > graal-compiler
comparison src/share/vm/compiler/compileBroker.cpp @ 13364:5a4293f24642
added -G:PrintCompRate option for periodically printing out the current compilation rate
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Tue, 17 Dec 2013 16:45:02 +0100 |
parents | 91933915d1d0 |
children | 9161ed8ce796 |
comparison
equal
deleted
inserted
replaced
13363:5c891b2983c5 | 13364:5a4293f24642 |
---|---|
2309 } else { | 2309 } else { |
2310 return (comp->name()); | 2310 return (comp->name()); |
2311 } | 2311 } |
2312 } | 2312 } |
2313 | 2313 |
2314 void CompileBroker::print_times() { | 2314 void CompileBroker::print_times(bool per_compiler, bool aggregate) { |
2315 #ifdef GRAAL | 2315 #ifdef GRAAL |
2316 elapsedTimer standard_compilation; | 2316 elapsedTimer standard_compilation; |
2317 elapsedTimer total_compilation; | 2317 elapsedTimer total_compilation; |
2318 elapsedTimer osr_compilation; | 2318 elapsedTimer osr_compilation; |
2319 | 2319 |
2329 bool printedHeader = false; | 2329 bool printedHeader = false; |
2330 | 2330 |
2331 for (unsigned int i = 0; i < sizeof(_compilers) / sizeof(AbstractCompiler*); i++) { | 2331 for (unsigned int i = 0; i < sizeof(_compilers) / sizeof(AbstractCompiler*); i++) { |
2332 AbstractCompiler* comp = _compilers[i]; | 2332 AbstractCompiler* comp = _compilers[i]; |
2333 if (comp != NULL) { | 2333 if (comp != NULL) { |
2334 if (!printedHeader) { | 2334 if (per_compiler && aggregate && !printedHeader) { |
2335 printedHeader = true; | 2335 printedHeader = true; |
2336 tty->cr(); | 2336 tty->cr(); |
2337 tty->print_cr("Individual compiler times (for compiled methods only)"); | 2337 tty->print_cr("Individual compiler times (for compiled methods only)"); |
2338 tty->print_cr("------------------------------------------------"); | 2338 tty->print_cr("------------------------------------------------"); |
2339 tty->cr(); | 2339 tty->cr(); |
2350 osr_compile_count += stats->_osr._count; | 2350 osr_compile_count += stats->_osr._count; |
2351 | 2351 |
2352 nmethods_size += stats->_nmethods_size; | 2352 nmethods_size += stats->_nmethods_size; |
2353 nmethods_code_size += stats->_nmethods_code_size; | 2353 nmethods_code_size += stats->_nmethods_code_size; |
2354 | 2354 |
2355 if (per_compiler) { | |
2355 tty->print_cr(" %s {speed: %d bytes/s; standard: %6.3f s, %d bytes, %d methods; osr: %6.3f s, %d bytes, %d methods; nmethods_size: %d bytes; nmethods_code_size: %d bytes}", | 2356 tty->print_cr(" %s {speed: %d bytes/s; standard: %6.3f s, %d bytes, %d methods; osr: %6.3f s, %d bytes, %d methods; nmethods_size: %d bytes; nmethods_code_size: %d bytes}", |
2356 comp->name(), stats->bytes_per_second(), | 2357 comp->name(), stats->bytes_per_second(), |
2357 stats->_standard._time.seconds(), stats->_standard._bytes, stats->_standard._count, | 2358 stats->_standard._time.seconds(), stats->_standard._bytes, stats->_standard._count, |
2358 stats->_osr._time.seconds(), stats->_osr._bytes, stats->_osr._count, | 2359 stats->_osr._time.seconds(), stats->_osr._bytes, stats->_osr._count, |
2359 stats->_nmethods_size, stats->_nmethods_code_size); | 2360 stats->_nmethods_size, stats->_nmethods_code_size); |
2361 } | |
2360 } | 2362 } |
2361 } | 2363 } |
2362 total_compile_count = osr_compile_count + standard_compile_count; | 2364 total_compile_count = osr_compile_count + standard_compile_count; |
2363 total_compilation.add(osr_compilation); | 2365 total_compilation.add(osr_compilation); |
2364 total_compilation.add(standard_compilation); | 2366 total_compilation.add(standard_compilation); |
2376 | 2378 |
2377 int nmethods_size = CompileBroker::_sum_nmethod_code_size; | 2379 int nmethods_size = CompileBroker::_sum_nmethod_code_size; |
2378 int nmethods_code_size = CompileBroker::_sum_nmethod_size; | 2380 int nmethods_code_size = CompileBroker::_sum_nmethod_size; |
2379 #endif | 2381 #endif |
2380 | 2382 |
2383 if (!aggregate) { | |
2384 return; | |
2385 } | |
2381 tty->cr(); | 2386 tty->cr(); |
2382 tty->print_cr("Accumulated compiler times (for compiled methods only)"); | 2387 tty->print_cr("Accumulated compiler times (for compiled methods only)"); |
2383 tty->print_cr("------------------------------------------------"); | 2388 tty->print_cr("------------------------------------------------"); |
2384 //0000000000111111111122222222223333333333444444444455555555556666666666 | 2389 //0000000000111111111122222222223333333333444444444455555555556666666666 |
2385 //0123456789012345678901234567890123456789012345678901234567890123456789 | 2390 //0123456789012345678901234567890123456789012345678901234567890123456789 |