comparison graal/GraalCompiler/src/com/sun/c1x/gen/LIRGenerator.java @ 2774:93fd92c9f8b0

Removed usage of stateAfter on BlockEnd instructions.
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Tue, 24 May 2011 13:39:50 +0200
parents 3e3338a1abb9
children 3b73b230b86b
comparison
equal deleted inserted replaced
2773:27512ea6bbcb 2774:93fd92c9f8b0
1298 if (sux.numberOfPreds() > 1) { 1298 if (sux.numberOfPreds() > 1) {
1299 1299
1300 1300
1301 List<Phi> phis = getPhis(sux); 1301 List<Phi> phis = getPhis(sux);
1302 1302
1303 int predIndex = 0; 1303 if (phis != null) {
1304 for (; predIndex < sux.numberOfPreds(); ++predIndex) { 1304
1305 if (sux.predAt(predIndex) == bb) { 1305 int predIndex = 0;
1306 break; 1306 for (; predIndex < sux.numberOfPreds(); ++predIndex) {
1307 if (sux.predAt(predIndex) == bb) {
1308 break;
1309 }
1307 } 1310 }
1308 } 1311 assert predIndex < sux.numberOfPreds();
1309 assert predIndex < sux.numberOfPreds(); 1312
1310
1311 if (phis != null) {
1312 PhiResolver resolver = new PhiResolver(this); 1313 PhiResolver resolver = new PhiResolver(this);
1313 for (Phi phi : phis) { 1314 for (Phi phi : phis) {
1314 if (!phi.isDeadPhi() && phi.valueCount() > predIndex) { 1315 if (!phi.isDeadPhi() && phi.valueCount() > predIndex) {
1315 Value curVal = phi.valueAt(predIndex); 1316 Value curVal = phi.valueAt(predIndex);
1316 if (curVal != null && curVal != phi) { 1317 if (curVal != null && curVal != phi) {
1326 } 1327 }
1327 } 1328 }
1328 } 1329 }
1329 resolver.dispose(); 1330 resolver.dispose();
1330 } 1331 }
1331
1332 /*
1333
1334 FrameState suxState = sux.stateBefore();
1335 TTY.println("number of preds: " + sux.numberOfPreds());
1336
1337 PhiResolver resolver = new PhiResolver(this);
1338
1339
1340 for (int index = 0; index < suxState.stackSize(); index++) {
1341 moveToPhi(resolver, curState.stackAt(index), suxState.stackAt(index), phis, predIndex);
1342 }
1343
1344 for (int index = 0; index < suxState.localsSize(); index++) {
1345 moveToPhi(resolver, curState.localAt(index), suxState.localAt(index), phis, predIndex);
1346 }
1347 resolver.dispose();*/
1348 } 1332 }
1349 } 1333 }
1350 } 1334 }
1351 1335
1352 /** 1336 /**