# HG changeset patch # User Roland Schatz # Date 1401272220 -7200 # Node ID 6abfac153606c2303c46672d20b22f38c4136c9c # Parent 3eedf7a653ea3259e2d06d02d6c5d8c6088d341c Ensure values stay finite in block probability computation. diff -r 3eedf7a653ea -r 6abfac153606 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/Block.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/Block.java Wed May 28 12:16:44 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/Block.java Wed May 28 12:17:00 2014 +0200 @@ -186,6 +186,7 @@ } public void setProbability(double probability) { + assert probability >= 0 && Double.isFinite(probability); this.probability = probability; } } diff -r 3eedf7a653ea -r 6abfac153606 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/ControlFlowGraph.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/ControlFlowGraph.java Wed May 28 12:16:44 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/ControlFlowGraph.java Wed May 28 12:17:00 2014 +0200 @@ -221,6 +221,9 @@ } } } + if (probability > 1. / Double.MIN_NORMAL) { + probability = 1. / Double.MIN_NORMAL; + } block.setPredecessors(predecessors); block.setProbability(probability);