hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
changeset 10014 a5c2141ee857
parent 9182 ab3e9e0925ad
child 10257 c633d62a88dc
equal deleted inserted replaced
10013:714ad59b56cb 10014:a5c2141ee857
    31 #include "ci/ciField.hpp"
    31 #include "ci/ciField.hpp"
    32 #include "ci/ciKlass.hpp"
    32 #include "ci/ciKlass.hpp"
    33 #include "compiler/compileBroker.hpp"
    33 #include "compiler/compileBroker.hpp"
    34 #include "interpreter/bytecode.hpp"
    34 #include "interpreter/bytecode.hpp"
    35 #include "runtime/sharedRuntime.hpp"
    35 #include "runtime/sharedRuntime.hpp"
       
    36 #include "runtime/compilationPolicy.hpp"
    36 #include "utilities/bitMap.inline.hpp"
    37 #include "utilities/bitMap.inline.hpp"
    37 
    38 
    38 class BlockListBuilder VALUE_OBJ_CLASS_SPEC {
    39 class BlockListBuilder VALUE_OBJ_CLASS_SPEC {
    39  private:
    40  private:
    40   Compilation* _compilation;
    41   Compilation* _compilation;
  3393 }
  3394 }
  3394 
  3395 
  3395 
  3396 
  3396 bool GraphBuilder::try_inline_full(ciMethod* callee, bool holder_known) {
  3397 bool GraphBuilder::try_inline_full(ciMethod* callee, bool holder_known) {
  3397   assert(!callee->is_native(), "callee must not be native");
  3398   assert(!callee->is_native(), "callee must not be native");
  3398   if (count_backedges() && callee->has_loops()) {
  3399   if (CompilationPolicy::policy()->should_not_inline(compilation()->env(), callee)) {
  3399     INLINE_BAILOUT("too complex for tiered");
  3400     INLINE_BAILOUT("inlining prohibited by policy");
  3400   }
  3401   }
  3401   // first perform tests of things it's not possible to inline
  3402   // first perform tests of things it's not possible to inline
  3402   if (callee->has_exception_handlers() &&
  3403   if (callee->has_exception_handlers() &&
  3403       !InlineMethodsWithExceptionHandlers) INLINE_BAILOUT("callee has exception handlers");
  3404       !InlineMethodsWithExceptionHandlers) INLINE_BAILOUT("callee has exception handlers");
  3404   if (callee->is_synchronized() &&
  3405   if (callee->is_synchronized() &&