# HG changeset patch # User Bernhard Urban # Date 1389359892 -3600 # Node ID 32ba70c49d27d85eb1816c963210fe02d8b3e747 # Parent 29b1b216d20a906900862f694ae42cb436566c3f Replacements: try to inline MacroNodes first diff -r 29b1b216d20a -r 32ba70c49d27 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 Fri Jan 10 15:03:22 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java Fri Jan 10 14:18:12 2014 +0100 @@ -419,6 +419,10 @@ afterInline(graph, originalGraph, null); substituteCallsOriginal = true; } else { + Class macroNodeClass = InliningUtil.getMacroNodeClass(ReplacementsImpl.this, callee); + if (macroNodeClass != null) { + InliningUtil.inlineMacroNode(callTarget.invoke(), callee, graph, macroNodeClass); + } else { StructuredGraph intrinsicGraph = InliningUtil.getIntrinsicGraph(ReplacementsImpl.this, callee); if ((callTarget.invokeKind() == InvokeKind.Static || callTarget.invokeKind() == InvokeKind.Special) && (policy.shouldInline(callee, methodToParse) || (intrinsicGraph != null && policy.shouldUseReplacement(callee, methodToParse)))) { @@ -440,6 +444,7 @@ } } } + } afterInlining(graph);