# HG changeset patch # User Doug Simon # Date 1428567988 -7200 # Node ID 9c8743f5ff53f402f141d568419d9395f88f5d5d # Parent 43659a795e37c67ca287285f88666ea5471da740 InvocationPlugins can only be applied for direct invokes diff -r 43659a795e37 -r 9c8743f5ff53 graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java --- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Thu Apr 09 09:52:33 2015 +0200 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Thu Apr 09 10:26:28 2015 +0200 @@ -1128,15 +1128,17 @@ return; } - if (tryInvocationPlugin(args, targetMethod, resultType)) { - if (TraceParserPlugins.getValue()) { - traceWithContext("used invocation plugin for %s", targetMethod.format("%h.%n(%p)")); + if (invokeKind.isDirect()) { + if (tryInvocationPlugin(args, targetMethod, resultType)) { + if (TraceParserPlugins.getValue()) { + traceWithContext("used invocation plugin for %s", targetMethod.format("%h.%n(%p)")); + } + return; } - return; - } - if (tryInline(args, targetMethod, invokeKind, returnType)) { - return; + if (tryInline(args, targetMethod, returnType)) { + return; + } } } finally { currentInvokeReturnType = null; @@ -1249,10 +1251,10 @@ return plugin != null && plugin.apply(this, targetMethod, args); } - private boolean tryInline(ValueNode[] args, ResolvedJavaMethod targetMethod, InvokeKind invokeKind, JavaType returnType) { + private boolean tryInline(ValueNode[] args, ResolvedJavaMethod targetMethod, JavaType returnType) { InlineInvokePlugin plugin = graphBuilderConfig.getPlugins().getInlineInvokePlugin(); boolean canBeInlined = parsingReplacement() || targetMethod.canBeInlined(); - if (plugin == null || !invokeKind.isDirect() || !canBeInlined) { + if (plugin == null || !canBeInlined) { return false; } InlineInfo inlineInfo = plugin.getInlineInfo(this, targetMethod, args, returnType);