comparison graal/GraalCompiler/src/com/sun/c1x/ir/BlockBegin.java @ 2603:01c5c0443158

new node layout: Phi
author Lukas Stadler <lukas.stadler@jku.at>
date Fri, 06 May 2011 11:18:15 +0200
parents 0c6564c254af
children 39aa89baa165
comparison
equal deleted inserted replaced
2602:0c6564c254af 2603:01c5c0443158
441 441
442 if (wasVisited() && !isParserLoopHeader()) { 442 if (wasVisited() && !isParserLoopHeader()) {
443 throw new CiBailout("jsr/ret too complicated"); 443 throw new CiBailout("jsr/ret too complicated");
444 } 444 }
445 445
446 existingState.merge(this, newState); 446 existingState.merge(this, newState, graph());
447 } 447 }
448 } 448 }
449 449
450 private void invalidateDeadLocals(FrameState newState, CiBitMap liveness) { 450 private void invalidateDeadLocals(FrameState newState, CiBitMap liveness) {
451 int max = newState.localsSize(); 451 int max = newState.localsSize();
463 463
464 private void insertLoopPhis(FrameState newState) { 464 private void insertLoopPhis(FrameState newState) {
465 int stackSize = newState.stackSize(); 465 int stackSize = newState.stackSize();
466 for (int i = 0; i < stackSize; i++) { 466 for (int i = 0; i < stackSize; i++) {
467 // always insert phis for the stack 467 // always insert phis for the stack
468 newState.setupPhiForStack(this, i); 468 newState.setupPhiForStack(this, i, graph());
469 } 469 }
470 int localsSize = newState.localsSize(); 470 int localsSize = newState.localsSize();
471 for (int i = 0; i < localsSize; i++) { 471 for (int i = 0; i < localsSize; i++) {
472 Value x = newState.localAt(i); 472 Value x = newState.localAt(i);
473 if (x != null) { 473 if (x != null) {
474 newState.setupPhiForLocal(this, i); 474 newState.setupPhiForLocal(this, i, graph());
475 } 475 }
476 } 476 }
477 } 477 }
478 478
479 public boolean isStandardEntry() { 479 public boolean isStandardEntry() {