# HG changeset patch # User Chris Seaton # Date 1413411440 -3600 # Node ID d3005ca4247f4f96e13f5a27302876b667e08bbd # Parent a3464d86b5d21e5c1214acbcb5514590b69fa9e8# Parent 3eed8712d410477ee933745e567333a93d7bc464 Merge. diff -r 3eed8712d410 -r d3005ca4247f graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java --- a/graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java Wed Oct 15 12:09:28 2014 +0200 +++ b/graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java Wed Oct 15 23:17:20 2014 +0100 @@ -210,7 +210,7 @@ try { future.get(); } catch (ExecutionException e) { - if (TruffleCompilationExceptionsAreThrown.getValue()) { + if (TruffleCompilationExceptionsAreThrown.getValue() && !(e.getCause() instanceof BailoutException)) { throw new RuntimeException(e.getCause()); } else { // silently ignored diff -r 3eed8712d410 -r d3005ca4247f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java Wed Oct 15 12:09:28 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java Wed Oct 15 23:17:20 2014 +0100 @@ -313,7 +313,7 @@ } if (TruffleCompilationExceptionsAreThrown.getValue()) { - throw new OptimizationFailedException(t, rootNode); + throw new OptimizationFailedException(t, this); } logOptimizingFailed(this, t.toString()); if (t instanceof BailoutException) { diff -r 3eed8712d410 -r d3005ca4247f graal/com.oracle.truffle.api/src/com/oracle/truffle/api/OptimizationFailedException.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/OptimizationFailedException.java Wed Oct 15 12:09:28 2014 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/OptimizationFailedException.java Wed Oct 15 23:17:20 2014 +0100 @@ -24,19 +24,17 @@ */ package com.oracle.truffle.api; -import com.oracle.truffle.api.nodes.*; - public class OptimizationFailedException extends RuntimeException { - private final RootNode rootNode; + private final CallTarget callTarget; - public OptimizationFailedException(Throwable cause, RootNode rootNode) { + public OptimizationFailedException(Throwable cause, CallTarget callTarget) { super(cause); - this.rootNode = rootNode; + this.callTarget = callTarget; } - public RootNode getRootNode() { - return rootNode; + public CallTarget getCallTarget() { + return callTarget; } private static final long serialVersionUID = -8797188744430210785L;