changeset 10677:3bbe14e492fb

Introduce TruffleGraphMaxNodes option with default value 10000.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Tue, 09 Jul 2013 20:06:15 +0200
parents 9db1377b0580
children 759415ed915a fa86a653bc0d
files graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java
diffstat 2 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java	Tue Jul 09 17:38:32 2013 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java	Tue Jul 09 20:06:15 2013 +0200
@@ -237,6 +237,10 @@
                         }
                     }
                 }
+
+                if (graph.getNodeCount() > TruffleCompilerOptions.TruffleGraphMaxNodes.getValue()) {
+                    throw new BailoutException("Truffle compilation is exceeding maximum node count: " + graph.getNodeCount());
+                }
             }
         } while (changed && newFrameNode.isAlive() && newFrameNode.usages().isNotEmpty());
     }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java	Tue Jul 09 17:38:32 2013 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java	Tue Jul 09 20:06:15 2013 +0200
@@ -55,6 +55,8 @@
     public static final OptionValue<Integer> TruffleConstantUnrollLimit = new OptionValue<>(32);
     @Option(help = "")
     public static final OptionValue<Integer> TruffleOperationCacheMaxNodes = new OptionValue<>(200);
+    @Option(help = "")
+    public static final OptionValue<Integer> TruffleGraphMaxNodes = new OptionValue<>(10000);
 
     // tracing
     @Option(help = "")