# HG changeset patch # User Christian Wimmer # Date 1388778683 28800 # Node ID 55987bbeec4202dbcdcc64af6321f537d67e3a02 # Parent a245e3585ad452bb9bb33284fae96ea9664d4f19 Bugfix: do not eliminate exception handler entry blocks diff -r a245e3585ad4 -r 55987bbeec42 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ControlFlowOptimizer.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ControlFlowOptimizer.java Fri Jan 03 11:50:39 2014 -0800 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ControlFlowOptimizer.java Fri Jan 03 11:51:23 2014 -0800 @@ -65,7 +65,7 @@ assert ((StandardOp.JumpOp) instructions.get(instructions.size() - 1)).destination().label() == ((StandardOp.LabelOp) lir.lir(block.getFirstSuccessor()).get(0)).getLabel() : "branch target must be the successor"; // Block must have exactly one successor. - return instructions.size() == 2 && !instructions.get(instructions.size() - 1).hasState(); + return instructions.size() == 2 && !instructions.get(instructions.size() - 1).hasState() && !block.isExceptionEntry(); } private static void deleteEmptyBlocks(LIR lir, List blocks) {