changeset 13497:55987bbeec42

Bugfix: do not eliminate exception handler entry blocks
author Christian Wimmer <christian.wimmer@oracle.com>
date Fri, 03 Jan 2014 11:51:23 -0800
parents a245e3585ad4
children 305fecbc7323
files graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ControlFlowOptimizer.java
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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<Block> blocks) {