< prev index next >

src/hotspot/share/opto/bytecodeInfo.cpp

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.

@@ -372,14 +372,17 @@
       // inline constructors even if they are not reached.
     } else if (forced_inline()) {
       // Inlining was forced by CompilerOracle, ciReplay or annotation
     } else if (profile.count() == 0) {
       // don't inline unreached call sites
+      // make a not-inline decision more conservatively for callers with loops
+      if (!caller_method->has_loops() || caller_method->interpreter_invocation_count() > Tier3MinInvocationThreshold) {
        set_msg("call site not reached");
        return false;
     }
   }
+  }
 
   if (!C->do_inlining() && InlineAccessors) {
     set_msg("not an accessor");
     return false;
   }
< prev index next >