Mercurial > hg > truffle
changeset 21684:c072fbce5756
Truffle/Instrumentation: move Probe tracing out of DebugEngine and into Probe
author | Michael Van De Vanter <michael.van.de.vanter@oracle.com> |
---|---|
date | Tue, 02 Jun 2015 16:44:16 -0700 |
parents | 5731adc3a10a |
children | fd8a92655fbd |
files | graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/Probe.java graal/com.oracle.truffle.tools.debug.engine/src/com/oracle/truffle/tools/debug/engine/DebugEngine.java |
diffstat | 2 files changed, 22 insertions(+), 36 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/Probe.java Tue Jun 02 23:20:46 2015 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/Probe.java Tue Jun 02 16:44:16 2015 -0700 @@ -24,6 +24,7 @@ */ package com.oracle.truffle.api.instrument; +import java.io.*; import java.lang.ref.*; import java.util.*; @@ -100,6 +101,16 @@ */ public final class Probe { + private static final boolean TRACE = false; + private static final String TRACE_PREFIX = "PROBE: "; + private static final PrintStream OUT = System.out; + + private static void trace(String format, Object... args) { + if (TRACE) { + OUT.println(TRACE_PREFIX + String.format(format, args)); + } + } + private static final List<ASTProber> astProbers = new ArrayList<>(); private static final List<ProbeListener> probeListeners = new ArrayList<>(); @@ -163,7 +174,8 @@ public static void applyASTProbers(Node node) { final Source source = findSource(node); - + final String sourceName = source == null ? "<?>" : source.getShortName(); + trace("START %s", sourceName); for (ProbeListener listener : probeListeners) { listener.startASTProbing(source); } @@ -173,6 +185,7 @@ for (ProbeListener listener : probeListeners) { listener.endASTProbing(source); } + trace("FINISHED %s", sourceName); } /** @@ -286,6 +299,10 @@ this.sourceSection = sourceSection; probes.add(new WeakReference<>(this)); registerProbeNodeClone(probeNode); + if (TRACE) { + final String location = this.sourceSection == null ? "<unknown>" : sourceSection.getShortDescription(); + trace("ADDED %s %s %s", "Probe@", location, getTagsDescription()); + } for (ProbeListener listener : probeListeners) { listener.newProbeInserted(this); } @@ -332,6 +349,9 @@ if (tagTrapsChanged) { invalidateProbeUnchanged(); } + if (TRACE) { + trace("TAGGED as %s: %s", tag, getShortDescription()); + } } }
--- a/graal/com.oracle.truffle.tools.debug.engine/src/com/oracle/truffle/tools/debug/engine/DebugEngine.java Tue Jun 02 23:20:46 2015 +0200 +++ b/graal/com.oracle.truffle.tools.debug.engine/src/com/oracle/truffle/tools/debug/engine/DebugEngine.java Tue Jun 02 16:44:16 2015 -0700 @@ -41,7 +41,6 @@ public final class DebugEngine { private static final boolean TRACE = false; - private static final boolean TRACE_PROBES = false; private static final String TRACE_PREFIX = "DEBUG ENGINE: "; private static final PrintStream OUT = System.out; @@ -49,9 +48,8 @@ private static final SyntaxTag STEPPING_TAG = StandardSyntaxTag.STATEMENT; private static final SyntaxTag CALL_TAG = StandardSyntaxTag.CALL; - @SuppressWarnings("unused") private static void trace(String format, Object... args) { - if (TRACE || TRACE_PROBES) { + if (TRACE) { OUT.println(TRACE_PREFIX + String.format(format, args)); } } @@ -151,38 +149,6 @@ this.lineBreaks = new LineBreakpointFactory(sourceExecutionProvider, breakpointCallback, warningLog); this.tagBreaks = new TagBreakpointFactory(sourceExecutionProvider, breakpointCallback, warningLog); - - if (TRACE_PROBES) { - Probe.addProbeListener(new ProbeListener() { - - private Source beingProbed = null; - - @Override - public void startASTProbing(Source source) { - final String sourceName = source == null ? "<?>" : source.getShortName(); - trace("START PROBING %s", sourceName); - beingProbed = source; - } - - @Override - public void newProbeInserted(Probe probe) { - trace("PROBE ADDED %s", probe.getShortDescription()); - } - - @Override - public void probeTaggedAs(Probe probe, SyntaxTag tag, Object tagValue) { - trace("PROBE TAGGED as %s: %s", tag, probe.getShortDescription()); - } - - @Override - public void endASTProbing(Source source) { - final String sourceName = source == null ? "<?>" : source.getShortName(); - trace("FINISHED PROBING %s", sourceName); - assert source == beingProbed; - beingProbed = null; - } - }); - } } public static DebugEngine create(DebugClient debugClient, SourceExecutionProvider sourceExecutionProvider) {