# HG changeset patch # User Thomas Wuerthinger # Date 1373393175 -7200 # Node ID 3bbe14e492fba120d22a4c74d53c9653f9a4d698 # Parent 9db1377b05805caf7571489be2fe0e7bb86f081b Introduce TruffleGraphMaxNodes option with default value 10000. diff -r 9db1377b0580 -r 3bbe14e492fb graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java --- 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()); } diff -r 9db1377b0580 -r 3bbe14e492fb graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java --- 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 TruffleConstantUnrollLimit = new OptionValue<>(32); @Option(help = "") public static final OptionValue TruffleOperationCacheMaxNodes = new OptionValue<>(200); + @Option(help = "") + public static final OptionValue TruffleGraphMaxNodes = new OptionValue<>(10000); // tracing @Option(help = "")