src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugDumpHandler.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugDumpHandler.java	Fri Jul  7 09:29:53 2017
--- new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugDumpHandler.java	Fri Jul  7 09:29:52 2017

*** 22,46 **** --- 22,57 ---- */ package org.graalvm.compiler.debug; import java.io.Closeable; public interface DebugDumpHandler extends Closeable { void dump(Object object, String format, Object... arguments); + /** + * Interface implemented by classes that provide an external visualization of selected object types + * such as compiler graphs and nodes. The format and client required to consume the visualizations + * is determined by the implementation. For example, a dumper may convert a compiler node to a human + * readable string and print it to the console. A more sophisticated dumper may serialize a compiler + * graph and send it over the network to a tool (e.g., https://github.com/graalvm/visualizer) that + * can display graphs. + */ + public interface DebugDumpHandler extends Closeable, DebugHandler { /** * Add arbitrary capability for use by the handler. + * If the type of {@code object} is supported by this dumper, then a representation of + * {@code object} is sent to some consumer in a format determined by this object. * ! * @param capability ! * @param debug the debug context requesting the dump + * @param object the object to be dumped + * @param format a format string specifying a title that describes the context of the dump + * (e.g., the compiler phase in which request is made) + * @param arguments arguments referenced by the format specifiers in {@code format} */ default void addCapability(Object capability) { } + void dump(DebugContext debug, Object object, String format, Object... arguments); /** * Flushes and releases resources managed by this dump handler. A subsequent call to ! * {@link #dump(java.lang.Object, java.lang.String, java.lang.Object...)} will create and open - * new resources. That is, this method can be used to reset the handler. ! * {@link #dump} will create and open new resources. That is, this method can be used to reset ! * the handler. */ @Override void close(); + default void close() { + } }

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugDumpHandler.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File