# HG changeset patch # User Gilles Duboscq # Date 1342652200 -7200 # Node ID 32a7714ac0c56e70562c45c59aca7466107970e7 # Parent 16c3284c94cdb15bd127ba3ee82c9e21bd99bfce Canonicalize at least once in IterativeCheckCastElimination diff -r 16c3284c94cd -r 32a7714ac0c5 graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/IterativeCheckCastEliminationPhase.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/IterativeCheckCastEliminationPhase.java Thu Jul 19 00:27:17 2012 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/IterativeCheckCastEliminationPhase.java Thu Jul 19 00:56:40 2012 +0200 @@ -43,12 +43,17 @@ protected void run(StructuredGraph graph) { CheckCastEliminationPhase eliminate = new CheckCastEliminationPhase(); CanonicalizerPhase canon = new CanonicalizerPhase(target, runtime, assumptions); + boolean canonRun = false; while (true) { eliminate.apply(graph); if (!eliminate.wasGraphModfied()) { break; } canon.apply(graph); + canonRun = true; + } + if (!canonRun) { + canon.apply(graph); } }