Mercurial > hg > graal-jvmci-8
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) {