# HG changeset patch # User Thomas Wuerthinger # Date 1424780632 -3600 # Node ID e7d46a5f177babbceb936908d0f1b8826ec1fec6 # Parent 3df56ce39922800544bdbd5c1f65dfc2090bbac6 Add option DumpDuringGraphBuilding and default to false. diff -r 3df56ce39922 -r e7d46a5f177b graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/GraalOptions.java --- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/GraalOptions.java Tue Feb 24 12:33:32 2015 +0100 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/GraalOptions.java Tue Feb 24 13:23:52 2015 +0100 @@ -143,6 +143,9 @@ @Option(help = "", type = OptionType.Debug) public static final OptionValue PrintFilter = new OptionValue<>(null); + @Option(help = "", type = OptionType.Debug) + public static final StableOptionValue DumpDuringGraphBuilding = new StableOptionValue<>(false); + // Debug settings: @Option(help = "", type = OptionType.Debug) public static final OptionValue BootstrapReplacements = new OptionValue<>(false); diff -r 3df56ce39922 -r e7d46a5f177b graal/com.oracle.graal.java/src/com/oracle/graal/java/AbstractBytecodeParser.java --- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/AbstractBytecodeParser.java Tue Feb 24 12:33:32 2015 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/AbstractBytecodeParser.java Tue Feb 24 13:23:52 2015 +0100 @@ -510,7 +510,6 @@ private void genIfSame(Kind kind, Condition cond) { ValueNode y = frameState.pop(kind); ValueNode x = frameState.pop(kind); - // assert !x.isDeleted() && !y.isDeleted(); genIf(x, cond, y); } diff -r 3df56ce39922 -r e7d46a5f177b graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java --- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Tue Feb 24 12:33:32 2015 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Tue Feb 24 13:23:52 2015 +0100 @@ -308,7 +308,7 @@ index = iterateBlock(blocks, block); } - if (Debug.isDumpEnabled() && this.beforeReturnNode != startInstruction) { + if (Debug.isDumpEnabled() && DumpDuringGraphBuilding.getValue() && this.beforeReturnNode != startInstruction) { Debug.dump(currentGraph, "Bytecodes parsed: " + method.getDeclaringClass().getUnqualifiedName() + "." + method.getName()); } } @@ -333,7 +333,9 @@ context.peelIteration = this.getCurrentDimension(); context.targetPeelIteration = -1; explodeLoopsContext.push(context); - Debug.dump(currentGraph, "before loop explosion " + context.peelIteration); + if (Debug.isDumpEnabled() && DumpDuringGraphBuilding.getValue()) { + Debug.dump(currentGraph, "before loop explosion dimension " + context.peelIteration); + } while (true) { @@ -347,6 +349,9 @@ // We were reaching the backedge during explosion. Explode further. context.peelIteration = context.targetPeelIteration; context.targetPeelIteration = -1; + if (Debug.isDumpEnabled() && DumpDuringGraphBuilding.getValue()) { + Debug.dump(currentGraph, "next loop explosion iteration " + context.peelIteration); + } } else { // We did not reach the backedge. Exit. break;