changeset 13628:110795e38ac6

MacroNode: do not modify the cached version of the graph
author Bernhard Urban <bernhard.urban@jku.at>
date Tue, 14 Jan 2014 16:26:40 +0100
parents a2aac8373610
children 5348da19751d
files graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java	Tue Jan 14 11:56:04 2014 +0100
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java	Tue Jan 14 16:26:40 2014 +0100
@@ -87,6 +87,7 @@
     protected StructuredGraph getLoweredSubstitutionGraph(LoweringTool tool) {
         StructuredGraph methodSubstitution = tool.getReplacements().getMethodSubstitution(getTargetMethod());
         if (methodSubstitution != null) {
+            methodSubstitution = methodSubstitution.copy();
             if (stateAfter() == null || stateAfter().bci == FrameState.AFTER_BCI) {
                 /*
                  * handles the case of a MacroNode inside a snippet used for another MacroNode
@@ -94,7 +95,7 @@
                  */
                 new CollapseFrameForSingleSideEffectPhase().apply(methodSubstitution);
             }
-            return lowerReplacement(methodSubstitution.copy(), tool);
+            return lowerReplacement(methodSubstitution, tool);
         }
         return null;
     }