# HG changeset patch # User Andreas Woess # Date 1405013689 -7200 # Node ID cec5a97ba1e4dab7dae843076772fd1a986d92cf # Parent 9fa5872291c175fb9c23cc286d333e582c1ab2ff PartialEvaluator: do not rely on ResolvedJavaMethod#canBeInlined() diff -r 9fa5872291c1 -r cec5a97ba1e4 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Thu Jul 10 18:15:29 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Thu Jul 10 19:34:49 2014 +0200 @@ -202,7 +202,7 @@ } StructuredGraph inlineGraph = replacements.getMethodSubstitution(methodCallTargetNode.targetMethod()); - if (inlineGraph == null && !methodCallTargetNode.targetMethod().isNative() && methodCallTargetNode.targetMethod().canBeInlined()) { + if (inlineGraph == null && canBeInlined(methodCallTargetNode)) { inlineGraph = parseGraph(methodCallTargetNode.targetMethod(), methodCallTargetNode.arguments(), assumptions, phaseContext, false); } @@ -242,6 +242,10 @@ } } + private static boolean canBeInlined(MethodCallTargetNode methodCallTargetNode) { + return !methodCallTargetNode.targetMethod().isNative() && methodCallTargetNode.targetMethod().getAnnotation(TruffleCallBoundary.class) == null; + } + private StructuredGraph parseGraph(final ResolvedJavaMethod targetMethod, final NodeInputList arguments, final Assumptions assumptions, final PhaseContext phaseContext, boolean ignoreSlowPath) {