# HG changeset patch # User Christian Humer # Date 1402503345 -7200 # Node ID 0cdce0e2d122541da9e54da6d7d8198c6d58e894 # Parent b37dbfdfbbfb90abc645ca4906932293fceeebd5 Truffle: Added -G:+TraceTruffleCompilationAST flag. diff -r b37dbfdfbbfb -r 0cdce0e2d122 CHANGELOG.md --- a/CHANGELOG.md Tue Jun 10 12:11:48 2014 +0200 +++ b/CHANGELOG.md Wed Jun 11 18:15:45 2014 +0200 @@ -9,6 +9,7 @@ ### Truffle * `truffle.jar`: strip out build-time only dependency into a seperated JAR file (`truffle-dsl-processor.jar`) +* New flag -G:+TraceTruffleCompilationAST to print the AST before compilation. * ... ## Version 0.3 diff -r b37dbfdfbbfb -r 0cdce0e2d122 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java Tue Jun 10 12:11:48 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java Wed Jun 11 18:15:45 2014 +0200 @@ -111,8 +111,11 @@ public void compileMethodImpl(final OptimizedCallTarget compilable) { final StructuredGraph graph; - if (TraceTruffleCompilation.getValue()) { + if (TraceTruffleCompilation.getValue() || TraceTruffleCompilationAST.getValue()) { OptimizedCallTargetLog.logOptimizingStart(compilable); + if (TraceTruffleCompilationAST.getValue()) { + NodeUtil.printCompactTree(OptimizedCallTarget.OUT, compilable.getRootNode()); + } } long timeCompilationStarted = System.nanoTime(); diff -r b37dbfdfbbfb -r 0cdce0e2d122 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 Jun 10 12:11:48 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java Wed Jun 11 18:15:45 2014 +0200 @@ -87,6 +87,8 @@ public static final OptionValue TraceTruffleCompilationHistogram = new OptionValue<>(false); @Option(help = "Prints out all polymorphic and generic nodes after compilation.") public static final OptionValue TraceTruffleCompilationPolymorphism = new OptionValue<>(false); + @Option(help = "Prints out all polymorphic and generic nodes after compilation.") + public static final OptionValue TraceTruffleCompilationAST = new OptionValue<>(false); @Option(help = "") public static final OptionValue TraceTruffleExpansion = new OptionValue<>(false); @Option(help = "")