diff graal/GraalCompiler/src/com/sun/c1x/ir/Merge.java @ 2821:015be60afcf3

removed flags from Value class
author Lukas Stadler <lukas.stadler@jku.at>
date Mon, 30 May 2011 17:05:06 +0200
parents c3f64b66fc78
children d54ea877a302 bd17ac598c6e
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/Merge.java	Mon May 30 16:24:22 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/ir/Merge.java	Mon May 30 17:05:06 2011 +0200
@@ -150,7 +150,7 @@
             while (!hasPhisOnStack && i < state.stackSize()) {
                 Value value = state.stackAt(i);
                 hasPhisOnStack = isPhiAtBlock(value);
-                if (value != null && !value.isIllegal()) {
+                if (value != null && !(value instanceof Phi && ((Phi) value).isDead())) {
                     i += value.kind.sizeInSlots();
                 } else {
                     i++;
@@ -161,7 +161,7 @@
                 Value value = state.localAt(i);
                 hasPhisInLocals = isPhiAtBlock(value);
                 // also ignore illegal HiWords
-                if (value != null && !value.isIllegal()) {
+                if (value != null && !(value instanceof Phi && ((Phi) value).isDead())) {
                     i += value.kind.sizeInSlots();
                 } else {
                     i++;
@@ -180,7 +180,11 @@
                 if (value != null) {
                     out.println(stateString(j, value));
                     // also ignore illegal HiWords
-                    j += value.isIllegal() ? 1 : value.kind.sizeInSlots();
+                    if (value instanceof Phi && ((Phi) value).isDead()) {
+                        j +=  1;
+                    } else {
+                        j += value.kind.sizeInSlots();
+                    }
                 } else {
                     j++;
                 }