# HG changeset patch # User Doug Simon # Date 1428219958 -7200 # Node ID f0f725496f2ac47176ec8b4ffc31cf9390c7f124 # Parent 6b119b6362de5a9735770ccf0239230a3d784d61 account for InvocationPlugins that don't return true when using them for late inlining diff -r 6b119b6362de -r f0f725496f2a graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/IntrinsicGraphBuilder.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/IntrinsicGraphBuilder.java Sat Apr 04 22:59:19 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/IntrinsicGraphBuilder.java Sun Apr 05 09:45:58 2015 +0200 @@ -200,9 +200,11 @@ public StructuredGraph buildGraph(InvocationPlugin plugin) { Receiver receiver = method.isStatic() ? null : this; - InvocationPlugin.execute(this, method, plugin, receiver, arguments); - assert (returnValue != null) == (method.getSignature().getReturnKind() != Kind.Void); - append(new ReturnNode(returnValue)); - return graph; + if (InvocationPlugin.execute(this, method, plugin, receiver, arguments)) { + assert (returnValue != null) == (method.getSignature().getReturnKind() != Kind.Void) : method; + append(new ReturnNode(returnValue)); + return graph; + } + return null; } } diff -r 6b119b6362de -r f0f725496f2a graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java Sat Apr 04 22:59:19 2015 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java Sun Apr 05 09:45:58 2015 +0200 @@ -340,7 +340,10 @@ if (!fromBytecodeOnly) { InvocationPlugin plugin = graphBuilderPlugins.getInvocationPlugins().lookupInvocation(original); if (plugin != null) { - return new IntrinsicGraphBuilder(providers, snippetReflection, original).buildGraph(plugin); + StructuredGraph graph = new IntrinsicGraphBuilder(providers, snippetReflection, original).buildGraph(plugin); + if (graph != null) { + return graph; + } } } ClassReplacements cr = getClassReplacements(original.getDeclaringClass().getName());