src/share/vm/opto/bytecodeInfo.cpp

changeset 9640
017b3a2aca37
parent 7994
04ff2f6cd0eb
child 9931
fd44df5e3bc3
     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  

mercurial