Mercurial > hg > graal-compiler
changeset 23036:b2243b94f6c1
Dump graph on bailout.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Fri, 20 Nov 2015 00:36:25 +0100 |
parents | 075e134c16ff |
children | a54b0edb0aea |
files | graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/TruffleGraphBuilderPlugins.java |
diffstat | 1 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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); } } });