changeset 16583:342fe74e3b90

prefer predecessor frame states at merges
author Lukas Stadler <lukas.stadler@oracle.com>
date Wed, 23 Jul 2014 11:53:47 +0200
parents 0eb70f622d01
children ab84673bedc2
files graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/FrameStateAssignmentPhase.java
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/FrameStateAssignmentPhase.java	Fri Jul 18 00:33:37 2014 +0200
+++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/FrameStateAssignmentPhase.java	Wed Jul 23 11:53:47 2014 +0200
@@ -89,7 +89,8 @@
 
         @Override
         protected FrameState merge(MergeNode merge, List<FrameState> states) {
-            return merge.stateAfter() != null ? merge.stateAfter() : singleFrameState(merge, states);
+            FrameState singleFrameState = singleFrameState(states);
+            return singleFrameState == null ? merge.stateAfter() : singleFrameState;
         }
 
         @Override
@@ -123,7 +124,7 @@
         return true;
     }
 
-    private static FrameState singleFrameState(@SuppressWarnings("unused") MergeNode merge, List<FrameState> states) {
+    private static FrameState singleFrameState(List<FrameState> states) {
         FrameState singleState = states.get(0);
         for (int i = 1; i < states.size(); ++i) {
             if (states.get(i) != singleState) {