changeset 10682:725922588833

Fix Truffle cache inlining strategy to skip exception edges.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Tue, 09 Jul 2013 21:53:50 +0200
parents 759415ed915a
children ae4c79ee71d1
files graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCache.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java
diffstat 2 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCache.java	Tue Jul 09 20:09:24 2013 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCache.java	Tue Jul 09 21:53:50 2013 +0200
@@ -210,7 +210,10 @@
                 }
             }
 
-            if (next instanceof ControlSplitNode) {
+            if (next instanceof InvokeWithExceptionNode) {
+                InvokeWithExceptionNode invokeWithExceptionNode = (InvokeWithExceptionNode) next;
+                next = invokeWithExceptionNode.next();
+            } else if (next instanceof ControlSplitNode) {
                 ControlSplitNode controlSplitNode = (ControlSplitNode) next;
                 AbstractBeginNode maxProbNode = null;
                 for (Node succ : controlSplitNode.cfgSuccessors()) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java	Tue Jul 09 20:09:24 2013 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java	Tue Jul 09 21:53:50 2013 +0200
@@ -56,7 +56,7 @@
     @Option(help = "")
     public static final OptionValue<Integer> TruffleOperationCacheMaxNodes = new OptionValue<>(200);
     @Option(help = "")
-    public static final OptionValue<Integer> TruffleGraphMaxNodes = new OptionValue<>(10000);
+    public static final OptionValue<Integer> TruffleGraphMaxNodes = new OptionValue<>(12000);
 
     // tracing
     @Option(help = "")