changeset 16469:cec5a97ba1e4

PartialEvaluator: do not rely on ResolvedJavaMethod#canBeInlined()
author Andreas Woess <andreas.woess@jku.at>
date Thu, 10 Jul 2014 19:34:49 +0200
parents 9fa5872291c1
children 352de9bd8fd5
files graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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<ValueNode> arguments, final Assumptions assumptions, final PhaseContext phaseContext,
                     boolean ignoreSlowPath) {