# HG changeset patch # User Thomas Wuerthinger # Date 1447976185 -3600 # Node ID b2243b94f6c140a87ad9915353d5de77eaee3b97 # Parent 075e134c16ff0591a47a783cddbbdc2ca67b75f9 Dump graph on bailout. diff -r 075e134c16ff -r b2243b94f6c1 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/TruffleGraphBuilderPlugins.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/TruffleGraphBuilderPlugins.java Thu Nov 19 20:35:05 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/TruffleGraphBuilderPlugins.java Fri Nov 20 00:36:25 2015 +0100 @@ -41,6 +41,7 @@ import com.oracle.graal.compiler.common.calc.Condition; import com.oracle.graal.compiler.common.type.Stamp; import com.oracle.graal.compiler.common.type.StampFactory; +import com.oracle.graal.debug.Debug; import com.oracle.graal.graph.Node; import com.oracle.graal.graphbuilderconf.GraphBuilderContext; import com.oracle.graal.graphbuilderconf.InvocationPlugin; @@ -227,7 +228,7 @@ * and constant folding could still eliminate the call to bailout(). However, we * also want to stop parsing, since we are sure that we will never need the * graph beyond the bailout point. - * + * * Therefore, we manually emit the call to bailout, which will be intrinsified * later when intrinsifications can no longer be delayed. The call is followed * by a NeverPartOfCompilationNode, which is a control sink and therefore stops @@ -313,7 +314,9 @@ } sb.append(")"); } - throw b.bailout("Partial evaluation did not reduce value to a constant, is a regular compiler node: " + sb.toString()); + String nodeDescription = sb.toString(); + Debug.dump(value.graph(), "Graph before bailout at node " + nodeDescription); + throw b.bailout("Partial evaluation did not reduce value to a constant, is a regular compiler node: " + nodeDescription); } } });