changeset 18129:b3adab5f01a2

Truffle: fix non permanent bailouts were shown as failures. they are no treated as opt unqueued events.
author Christian Humer <christian.humer@gmail.com>
date Tue, 21 Oct 2014 00:22:48 +0200
parents 7b6a4ae58de4
children b4e38f4ca414
files graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java	Tue Oct 21 00:18:29 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java	Tue Oct 21 00:22:48 2014 +0200
@@ -325,12 +325,14 @@
         } else {
             if (!(t instanceof BailoutException) || ((BailoutException) t).isPermanent()) {
                 compilationPolicy.recordCompilationFailure(t);
+                logOptimizingFailed(this, t.toString());
+                if (TruffleCompilationExceptionsAreThrown.getValue()) {
+                    throw new OptimizationFailedException(t, this);
+                }
+            } else {
+                logOptimizingUnqueued(this, null, null, "Non permanent bailout: " + t.toString());
             }
 
-            if (TruffleCompilationExceptionsAreThrown.getValue()) {
-                throw new OptimizationFailedException(t, this);
-            }
-            logOptimizingFailed(this, t.toString());
             if (t instanceof BailoutException) {
                 // Bailout => move on.
             } else if (TruffleCompilationExceptionsAreFatal.getValue()) {