# HG changeset patch # User Doug Simon # Date 1373990889 -7200 # Node ID ac3cb56f47a0d3a632a42f3e8919e5ed3a81b0d4 # Parent 388fbd0dd4a41649509448b1686d026f38e376ce made use of symbolic constants for branch probabilities diff -r 388fbd0dd4a4 -r ac3cb56f47a0 graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ConditionalEliminationTest.java --- 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); diff -r 388fbd0dd4a4 -r ac3cb56f47a0 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java --- 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)); }