changeset 21986:bd29bc210e33

Truffle: remove use of TTY print stream in OptimizedCallTarget.
author Christian Humer <christian.humer@gmail.com>
date Tue, 16 Jun 2015 19:35:31 +0200
parents ba769b2ee8fa
children a201f2778581
files graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java
diffstat 1 files changed, 8 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java	Tue Jun 16 17:21:45 2015 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java	Tue Jun 16 19:35:31 2015 +0200
@@ -22,9 +22,6 @@
  */
 package com.oracle.graal.truffle;
 
-import com.oracle.jvmci.code.InstalledCode;
-import com.oracle.jvmci.code.BailoutException;
-
 import static com.oracle.graal.truffle.TruffleCompilerOptions.*;
 
 import java.io.*;
@@ -34,8 +31,8 @@
 import java.util.stream.*;
 
 import com.oracle.graal.truffle.debug.*;
+import com.oracle.jvmci.code.*;
 import com.oracle.jvmci.common.*;
-import com.oracle.jvmci.debug.*;
 import com.oracle.jvmci.meta.*;
 import com.oracle.truffle.api.*;
 import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
@@ -50,8 +47,6 @@
  */
 public class OptimizedCallTarget extends InstalledCode implements RootCallTarget, LoopCountReceiver, ReplaceObserver {
 
-    protected static final PrintStream OUT = TTY.out().out();
-
     protected final GraalTruffleRuntime runtime;
     private SpeculationLog speculationLog;
     protected final CompilationProfile compilationProfile;
@@ -361,12 +356,18 @@
                 throw new OptimizationFailedException(t, this);
             }
             if (TruffleCompilationExceptionsAreFatal.getValue()) {
-                t.printStackTrace(OUT);
+                printException(t);
                 System.exit(-1);
             }
         }
     }
 
+    private void printException(Throwable e) {
+        StringWriter string = new StringWriter();
+        e.printStackTrace(new PrintWriter(string));
+        log(string.toString());
+    }
+
     public void notifyCompilationFinished(boolean successful) {
         if (successful && inlining != null) {
             dequeueInlinedCallSites(inlining);