Mercurial > hg > graal-compiler
comparison 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 |
comparison
equal
deleted
inserted
replaced
2820:2b8ef0a06391 | 2821:015be60afcf3 |
---|---|
148 | 148 |
149 int i = 0; | 149 int i = 0; |
150 while (!hasPhisOnStack && i < state.stackSize()) { | 150 while (!hasPhisOnStack && i < state.stackSize()) { |
151 Value value = state.stackAt(i); | 151 Value value = state.stackAt(i); |
152 hasPhisOnStack = isPhiAtBlock(value); | 152 hasPhisOnStack = isPhiAtBlock(value); |
153 if (value != null && !value.isIllegal()) { | 153 if (value != null && !(value instanceof Phi && ((Phi) value).isDead())) { |
154 i += value.kind.sizeInSlots(); | 154 i += value.kind.sizeInSlots(); |
155 } else { | 155 } else { |
156 i++; | 156 i++; |
157 } | 157 } |
158 } | 158 } |
159 | 159 |
160 for (i = 0; !hasPhisInLocals && i < state.localsSize();) { | 160 for (i = 0; !hasPhisInLocals && i < state.localsSize();) { |
161 Value value = state.localAt(i); | 161 Value value = state.localAt(i); |
162 hasPhisInLocals = isPhiAtBlock(value); | 162 hasPhisInLocals = isPhiAtBlock(value); |
163 // also ignore illegal HiWords | 163 // also ignore illegal HiWords |
164 if (value != null && !value.isIllegal()) { | 164 if (value != null && !(value instanceof Phi && ((Phi) value).isDead())) { |
165 i += value.kind.sizeInSlots(); | 165 i += value.kind.sizeInSlots(); |
166 } else { | 166 } else { |
167 i++; | 167 i++; |
168 } | 168 } |
169 } | 169 } |
178 while (j < state.localsSize()) { | 178 while (j < state.localsSize()) { |
179 Value value = state.localAt(j); | 179 Value value = state.localAt(j); |
180 if (value != null) { | 180 if (value != null) { |
181 out.println(stateString(j, value)); | 181 out.println(stateString(j, value)); |
182 // also ignore illegal HiWords | 182 // also ignore illegal HiWords |
183 j += value.isIllegal() ? 1 : value.kind.sizeInSlots(); | 183 if (value instanceof Phi && ((Phi) value).isDead()) { |
184 j += 1; | |
185 } else { | |
186 j += value.kind.sizeInSlots(); | |
187 } | |
184 } else { | 188 } else { |
185 j++; | 189 j++; |
186 } | 190 } |
187 } | 191 } |
188 out.println(); | 192 out.println(); |