Class ProbeNode
- java.lang.Object
-
- com.oracle.truffle.api.nodes.Node
-
- com.oracle.truffle.api.instrument.ProbeNode
-
- All Implemented Interfaces:
InstrumentationNode
,TruffleEventReceiver
,NodeInterface
,java.lang.Cloneable
public abstract class ProbeNode extends Node implements TruffleEventReceiver, InstrumentationNode
Implementation interfaces and classes for attachingProbe
s toProbeNode.WrapperNode
s.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ProbeNode.Instrumentable
Any Truffle node implementing this interface can be "instrumented" by installing aProbe
that intercepts execution events at the node and routes them to anyInstrument
s that have been attached to theProbe
.static interface
ProbeNode.WrapperNode
A node that can be inserted into a Truffle AST, and which enables instrumentation at a particular Guest Language (GL) node.-
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
Node.Child, Node.Children
-
-
Constructor Summary
Constructors Constructor Description ProbeNode()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract Probe
getProbe()
static Probe
insertProbe(ProbeNode.WrapperNode wrapper)
Create a newProbe
associated with, and attached to, a Guest Language specific instance ofProbeNode.WrapperNode
.static void
insertProbeLite(ProbeNode.WrapperNode wrapper, TruffleEventReceiver eventReceiver)
Creates a newProbeNode.ProbeLiteNode
associated with, and attached to, a Guest Language specific instance ofProbeNode.WrapperNode
.-
Methods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, assignSourceSection, atomic, atomic, clearSourceSection, clone, copy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLanguage, getParent, getRootNode, getSourceSection, insert, insert, isReplaceable, onAdopt, onReplace, replace, replace, toString
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.oracle.truffle.api.instrument.InstrumentationNode
instrumentationInfo
-
Methods inherited from interface com.oracle.truffle.api.instrument.TruffleEventReceiver
enter, returnExceptional, returnValue, returnVoid
-
-
-
-
Method Detail
-
insertProbe
public static Probe insertProbe(ProbeNode.WrapperNode wrapper)
Create a newProbe
associated with, and attached to, a Guest Language specific instance ofProbeNode.WrapperNode
.
-
insertProbeLite
public static void insertProbeLite(ProbeNode.WrapperNode wrapper, TruffleEventReceiver eventReceiver)
Creates a newProbeNode.ProbeLiteNode
associated with, and attached to, a Guest Language specific instance ofProbeNode.WrapperNode
.
-
-