comparison graal/GraalCompiler/src/com/sun/c1x/alloc/EdgeMoveOptimizer.java @ 2805:c3f64b66fc78

Towards removing the next pointer from Constant and ArithmeticOp
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Fri, 27 May 2011 19:57:56 +0200
parents 2ac7b30b7290
children
comparison
equal deleted inserted replaced
2804:095162a84dcc 2805:c3f64b66fc78
188 int numSux = block.numberOfSux(); 188 int numSux = block.numberOfSux();
189 189
190 List<LIRInstruction> instructions = block.lir().instructionsList(); 190 List<LIRInstruction> instructions = block.lir().instructionsList();
191 191
192 assert numSux == 2 : "method should not be called otherwise"; 192 assert numSux == 2 : "method should not be called otherwise";
193 assert instructions.get(instructions.size() - 1).code == LIROpcode.Branch : "block with successor must end with branch"; 193 assert instructions.get(instructions.size() - 1).code == LIROpcode.Branch : "block with successor must end with branch block=B" + block.blockID();
194 assert instructions.get(instructions.size() - 1) instanceof LIRBranch : "branch must be LIROpBranch"; 194 assert instructions.get(instructions.size() - 1) instanceof LIRBranch : "branch must be LIROpBranch";
195 assert ((LIRBranch) instructions.get(instructions.size() - 1)).cond() == Condition.TRUE : "block must end with unconditional branch"; 195 assert ((LIRBranch) instructions.get(instructions.size() - 1)).cond() == Condition.TRUE : "block must end with unconditional branch";
196 196
197 if (instructions.get(instructions.size() - 1).info != null) { 197 if (instructions.get(instructions.size() - 1).info != null) {
198 // cannot optimize instructions when debug info is needed 198 // cannot optimize instructions when debug info is needed