Mercurial > hg > truffle
changeset 5147:3851c69bf4ea
Merge
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Thu, 22 Mar 2012 19:43:56 +0100 |
parents | 25903e52af48 (diff) f7b2800b1738 (current diff) |
children | eeb2ca1bf3a9 |
files | |
diffstat | 4 files changed, 14 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalOptions.java Thu Mar 22 19:13:09 2012 +0100 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalOptions.java Thu Mar 22 19:43:56 2012 +0100 @@ -117,11 +117,10 @@ public static String Time = null; public static String Log = null; public static String MethodFilter = null; + public static boolean DumpOnError = ____; // Ideal graph visualizer output settings - public static boolean PlotOnError = ____; public static int PlotLevel = 3; - public static boolean PlotSnippets = ____; public static int PrintIdealGraphLevel = 0; public static boolean PrintIdealGraphFile = ____; public static String PrintIdealGraphAddress = "127.0.0.1";
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/ComputeProbabilityPhase.java Thu Mar 22 19:13:09 2012 +0100 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/ComputeProbabilityPhase.java Thu Mar 22 19:43:56 2012 +0100 @@ -145,13 +145,11 @@ } backEdgeProb += le.probability() * factor; } - double d = backEdgeProb; + double d = loopBegin.probability() - backEdgeProb; if (d < EPSILON) { d = EPSILON; - } else if (d > loopBegin.probability() - EPSILON) { - d = loopBegin.probability() - EPSILON; } - loopFrequency = loopBegin.probability() / (loopBegin.probability() - d); + loopFrequency = loopBegin.probability() / d; loopBegin.setLoopFrequency(loopFrequency); } return loopFrequency;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotDebugConfig.java Thu Mar 22 19:13:09 2012 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotDebugConfig.java Thu Mar 22 19:43:56 2012 +0100 @@ -143,7 +143,7 @@ Debug.log(String.format("Exception occured in scope: %s", Debug.currentScope())); for (Object o : Debug.context()) { Debug.log("Context obj %s", o); - if (o instanceof Graph) { + if (o instanceof Graph && GraalOptions.DumpOnError) { Graph graph = (Graph) o; Debug.log("Found graph in context: ", graph); Debug.dump(o, "Exception graph");
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Thu Mar 22 19:13:09 2012 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Thu Mar 22 19:43:56 2012 +0100 @@ -27,7 +27,6 @@ import java.lang.reflect.*; import java.util.*; -import java.util.concurrent.atomic.*; import com.oracle.graal.compiler.*; import com.oracle.graal.compiler.phases.*; @@ -1139,9 +1138,19 @@ prob[i] = 1.0d / numberOfCases; } } + assert allPositive(prob); return prob; } + private static boolean allPositive(double[] a) { + for (double d : a) { + if (d < 0) { + return false; + } + } + return true; + } + private void genLookupswitch() { int bci = bci(); ValueNode value = frameState.ipop();