Mercurial > hg > truffle
changeset 18829:40df42df39e0
Can be inlined must also return true for native methods that are intrinsified.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Sun, 11 Jan 2015 21:06:25 +0100 |
parents | 161503950494 |
children | c50e5292d366 |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethodImpl.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java |
diffstat | 3 files changed, 3 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethodImpl.java Sun Jan 11 21:04:56 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethodImpl.java Sun Jan 11 21:06:25 2015 +0100 @@ -547,7 +547,7 @@ if (isDontInline()) { return false; } - return this.hasBytecodes() && runtime().getCompilerToVM().canInlineMethod(metaspaceMethod); + return runtime().getCompilerToVM().canInlineMethod(metaspaceMethod); } @Override
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Sun Jan 11 21:04:56 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Sun Jan 11 21:06:25 2015 +0100 @@ -270,7 +270,7 @@ StructuredGraph inlineGraph = replacements.getMethodSubstitution(methodCallTargetNode.targetMethod()); ResolvedJavaMethod targetMethod = methodCallTargetNode.targetMethod(); - if (inlineGraph == null && targetMethod.canBeInlined()) { + if (inlineGraph == null && targetMethod.hasBytecodes()) { inlineGraph = parseGraph(methodCallTargetNode.targetMethod(), methodCallTargetNode.arguments(), phaseContext); }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java Sun Jan 11 21:04:56 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java Sun Jan 11 21:06:25 2015 +0100 @@ -330,7 +330,7 @@ } protected boolean shouldInline(MethodCallTargetNode methodCallTargetNode) { - boolean result = methodCallTargetNode.invokeKind().isDirect() && methodCallTargetNode.targetMethod().canBeInlined() && + boolean result = methodCallTargetNode.invokeKind().isDirect() && methodCallTargetNode.targetMethod().hasBytecodes() && methodCallTargetNode.targetMethod().getAnnotation(ExplodeLoop.class) == null && methodCallTargetNode.targetMethod().getAnnotation(CompilerDirectives.TruffleBoundary.class) == null && !methodCallTargetNode.targetMethod().getDeclaringClass().equals(stringBuilderClass);