Mercurial > hg > truffle
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)); }