Thu, 11 Jul 2019 19:58:29 +0800
#8699 Fix the performance issue of scimark.monte_carlo on Loongson CPUs
src/share/vm/opto/bytecodeInfo.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/share/vm/opto/bytecodeInfo.cpp Tue Jul 09 15:15:56 2019 +0800 1.2 +++ b/src/share/vm/opto/bytecodeInfo.cpp Thu Jul 11 19:58:29 2019 +0800 1.3 @@ -360,9 +360,20 @@ 1.4 } else if (forced_inline()) { 1.5 // Inlining was forced by CompilerOracle, ciReplay or annotation 1.6 } else if (profile.count() == 0) { 1.7 +#ifndef MIPS 1.8 // don't inline unreached call sites 1.9 set_msg("call site not reached"); 1.10 return false; 1.11 +#else 1.12 + ciMethodBlocks* blocks = caller_method->get_method_blocks(); 1.13 + // Check if the call site belongs to a start block: 1.14 + // call sites in a start block must be reached before. 1.15 + if (blocks->block_containing(0) != blocks->block_containing(jvms->bci())) { 1.16 + // don't inline unreached call sites 1.17 + set_msg("call site not reached"); 1.18 + return false; 1.19 + } 1.20 +#endif 1.21 } 1.22 } 1.23