comparison graal/GraalCompiler/src/com/sun/c1x/ir/Merge.java @ 2826:d54ea877a302

Merge
author Gilles Duboscq <gilles.duboscq@oracle.com>
date Mon, 30 May 2011 18:02:55 +0200
parents ac4b086cbd72 015be60afcf3
children d6f3dbb4e3b5
comparison
equal deleted inserted replaced
2825:9ba6a8abe894 2826:d54ea877a302
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();