changeset 9393:6a2a9eac243a

Correctly adjust probabilities when swapping if nodes.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Sun, 28 Apr 2013 22:58:54 +0200
parents 5a74cbafe5b9
children 0a94f51ed31b 50f02c7d1cec
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java
diffstat 1 files changed, 3 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java	Sun Apr 28 19:17:56 2013 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java	Sun Apr 28 22:58:54 2013 +0200
@@ -187,6 +187,9 @@
                     nextIf.setFalseSuccessor(intermediateBegin);
                     intermediateBegin.setNext(this);
                     this.setFalseSuccessor(bothFalseBegin);
+                    nextIf.setTrueSuccessorProbability(probabilityB);
+                    double newProbability = this.trueSuccessorProbability / (1.0 - probabilityB);
+                    this.setTrueSuccessorProbability(newProbability);
                     return;
                 }
             }