diff graal/GraalCompiler/src/com/sun/c1x/ir/StateSplit.java @ 2730:027adfafd47e

first batch of GraphBuilder changes to remove dependencies on BlockBegin
author Lukas Stadler <lukas.stadler@jku.at>
date Thu, 19 May 2011 17:24:23 +0200
parents 7ed72769d51a
children
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/StateSplit.java	Thu May 19 17:17:22 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/ir/StateSplit.java	Thu May 19 17:24:23 2011 +0200
@@ -56,7 +56,14 @@
     }
 
     public FrameState setStateBefore(FrameState n) {
-        return (FrameState) inputs().set(super.inputCount() + INPUT_STATE_BEFORE, n);
+        FrameState oldState = stateBefore();
+        try {
+            return (FrameState) inputs().set(super.inputCount() + INPUT_STATE_BEFORE, n);
+        } finally {
+            if (oldState != n && oldState != null) {
+                oldState.delete();
+            }
+        }
     }
 
     /**