Mercurial > hg > graal-jvmci-8
changeset 17079:b06b4dee86d5
Truffle: keep the RootNode in OptimizationFailedException, so you can figure out what it was that failed.
author | Chris Seaton <chris.seaton@oracle.com> |
---|---|
date | Tue, 09 Sep 2014 20:21:11 +0100 |
parents | c4b1cf38002b |
children | 2476180699f6 |
files | graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java graal/com.oracle.truffle.api/src/com/oracle/truffle/api/OptimizationFailedException.java |
diffstat | 2 files changed, 11 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java Tue Sep 09 20:19:23 2014 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java Tue Sep 09 20:21:11 2014 +0100 @@ -281,7 +281,7 @@ t.printStackTrace(OUT); System.exit(-1); } else if (TruffleCompilationExceptionsAreThrown.getValue()) { - throw new OptimizationFailedException(t); + throw new OptimizationFailedException(t, rootNode); } } }
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/OptimizationFailedException.java Tue Sep 09 20:19:23 2014 +0100 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/OptimizationFailedException.java Tue Sep 09 20:21:11 2014 +0100 @@ -24,10 +24,19 @@ */ package com.oracle.truffle.api; +import com.oracle.truffle.api.nodes.*; + public class OptimizationFailedException extends RuntimeException { - public OptimizationFailedException(Throwable cause) { + private final RootNode rootNode; + + public OptimizationFailedException(Throwable cause, RootNode rootNode) { super(cause); + this.rootNode = rootNode; + } + + public RootNode getRootNode() { + return rootNode; } private static final long serialVersionUID = -8797188744430210785L;