# HG changeset patch # User Peter Hofer # Date 1306761094 -7200 # Node ID 03027a0ef819508df1691c625312958faa9ef1a0 # Parent 6fb5a1bf819f5eef421ab17a4b3d863b307acf5d Allow to specify the output stream in CFGPrinterObserver (for C1XVisualizer) diff -r 6fb5a1bf819f -r 03027a0ef819 graal/GraalCompiler/src/com/sun/c1x/debug/CFGPrinterObserver.java --- a/graal/GraalCompiler/src/com/sun/c1x/debug/CFGPrinterObserver.java Mon May 30 15:03:04 2011 +0200 +++ b/graal/GraalCompiler/src/com/sun/c1x/debug/CFGPrinterObserver.java Mon May 30 15:11:34 2011 +0200 @@ -39,8 +39,14 @@ private C1XCompilation currentCompilation; private CFGPrinter cfgPrinter; private ByteArrayOutputStream buffer = null; + private final OutputStream stream; public CFGPrinterObserver() { + this(CFGPrinter.cfgFileStream()); + } + + public CFGPrinterObserver(OutputStream stream) { + this.stream = stream; } @Override @@ -96,13 +102,13 @@ cfgPrinter.flush(); - OutputStream cfgFileStream = CFGPrinter.cfgFileStream(); - if (cfgFileStream != null) { - synchronized (cfgFileStream) { + if (stream != null) { + synchronized (stream) { try { - cfgFileStream.write(buffer.toByteArray()); + stream.write(buffer.toByteArray()); + stream.flush(); } catch (IOException e) { - TTY.println("WARNING: Error writing CFGPrinter output for %s to disk: %s", event.getMethod(), e); + TTY.println("WARNING: Error writing CFGPrinter output for %s: %s", event.getMethod(), e); } } }