changeset 10788:ac3cb56f47a0

made use of symbolic constants for branch probabilities
author Doug Simon <doug.simon@oracle.com>
date Tue, 16 Jul 2013 18:08:09 +0200
parents 388fbd0dd4a4
children ec4c7c33e8e5
files graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ConditionalEliminationTest.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java
diffstat 2 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ConditionalEliminationTest.java	Tue Jul 16 17:56:53 2013 +0200
+++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ConditionalEliminationTest.java	Tue Jul 16 18:08:09 2013 +0200
@@ -22,6 +22,7 @@
  */
 package com.oracle.graal.compiler.test;
 
+import static com.oracle.graal.nodes.extended.BranchProbabilityNode.*;
 import static org.junit.Assert.*;
 
 import org.junit.*;
@@ -29,7 +30,7 @@
 import com.oracle.graal.nodes.*;
 import com.oracle.graal.nodes.calc.*;
 import com.oracle.graal.nodes.java.*;
-import com.oracle.graal.nodes.java.MethodCallTargetNode.*;
+import com.oracle.graal.nodes.java.MethodCallTargetNode.InvokeKind;
 import com.oracle.graal.phases.common.*;
 
 /**
@@ -165,7 +166,7 @@
         InstanceOfNode instanceOf = (InstanceOfNode) ifNode.condition();
         IsNullNode x = graph.unique(new IsNullNode(graph.getLocal(0)));
         InstanceOfNode y = instanceOf;
-        LogicDisjunctionNode disjunction = graph.unique(new LogicDisjunctionNode(x, false, y, false, 0.1D));
+        LogicDisjunctionNode disjunction = graph.unique(new LogicDisjunctionNode(x, false, y, false, NOT_FREQUENT_PROBABILITY));
         ifNode.setCondition(disjunction);
         ifNode.negate(disjunction);
         new CanonicalizerPhase.Instance(runtime(), null, true).apply(graph);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java	Tue Jul 16 17:56:53 2013 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java	Tue Jul 16 18:08:09 2013 +0200
@@ -24,6 +24,7 @@
 
 import static com.oracle.graal.api.code.DeoptimizationAction.*;
 import static com.oracle.graal.api.meta.DeoptimizationReason.*;
+import static com.oracle.graal.nodes.extended.BranchProbabilityNode.*;
 
 import com.oracle.graal.api.code.*;
 import com.oracle.graal.api.meta.*;
@@ -119,13 +120,13 @@
                 } else {
                     double shortCircuitProbability;
                     if (profile == null) {
-                        shortCircuitProbability = 0.1D;
+                        shortCircuitProbability = NOT_FREQUENT_PROBABILITY;
                     } else {
                         // Tell the instanceof it does not need to do a null check
                         typeTest.setProfile(new JavaTypeProfile(TriState.FALSE, profile.getNotRecordedProbability(), profile.getTypes()));
 
                         // TODO (ds) replace with probability of null-seen when available
-                        shortCircuitProbability = 0.1D;
+                        shortCircuitProbability = NOT_FREQUENT_PROBABILITY;
                     }
                     condition = graph().unique(new LogicDisjunctionNode(graph().unique(new IsNullNode(object)), false, typeTest, false, shortCircuitProbability));
                 }