See: Description
Interface | Description |
---|---|
AllocationListener |
Listener to be notified about guest language value allocations.
|
ContextsListener |
Listener to be notified about changes of contexts in guest language application.
|
ExecuteSourceListener |
A listener attached by an
Instrumenter to specific sources of a guest language program to
listen to execute source events. |
ExecutionEventListener |
A listener attached by an
Instrumenter to specific locations of a guest language program
to listen to execution events. |
ExecutionEventNodeFactory |
Event node factories are factories of event nodes for a
program location . |
InstrumentableNode |
Interface implemented by AST
nodes that may be instrumentable: an AST
location where Truffle
instruments are permitted to listen to before and after using execution event listeners. |
InstrumentableNode.WrapperNode |
Nodes that the instrumentation framework inserts into guest language ASTs (between
instrumentable guest language nodes and their parents) for the
purpose of interposing on execution events and reporting them via the instrumentation
framework. |
LoadSourceListener |
A listener attached by an
Instrumenter to specific locations of a guest language program
to listen to load source events. |
LoadSourceSectionListener |
A listener attached by an
Instrumenter to specific locations of a guest language program
to listen to sources section load events. |
SourceSectionFilter.SourcePredicate |
Represents a predicate for source objects.
|
ThreadsActivationListener |
Listener that allows to be notified when threads become active and deactivated.
|
ThreadsListener |
Listener to be notified about changes of threads in guest language application.
|
TruffleInstrument.ContextLocalFactory<T> |
Context local factory for Truffle instruments.
|
TruffleInstrument.ContextThreadLocalFactory<T> |
Context local factory for Truffle instruments.
|
Class | Description |
---|---|
AllocationEvent |
An event representing an allocation of a guest language value.
|
AllocationEventFilter |
An instrumentation filter of allocations of guest language values.
|
AllocationReporter |
Reporter of guest language value allocations.
|
EventBinding<T> |
An instrumentation handle for a subscription to a
filtered stream of execution event notifications.
|
EventContext |
Represents the context of an execution event.
|
ExecuteSourceEvent |
Represents a source execute event from a
ExecuteSourceListener . |
ExecutionEventNode |
An event node created by an
ExecutionEventNodeFactory for a specific locations of a guest
language program to listen to instrumentation events. |
Instrumenter |
Provides capabilities to attach listeners for execution, load, output and allocation events.
|
LoadSourceEvent |
Represents a source load event from a
LoadSourceListener . |
LoadSourceSectionEvent |
Represents a source section load event from a
LoadSourceSectionListener . |
NearestSectionFilter |
Add a filter for source sections that are nearest to the given source position, according to the
guest language control flow.
|
NearestSectionFilter.Builder |
Builder to configure
NearestSectionFilter before creating its instance. |
ProbeNode |
Represents an event sink for instrumentation events that is embedded in the AST using wrappers if
needed.
|
SourceFilter |
A source filter represents an expression for a subset of guest language sources that are used in
an Truffle interpreter.
|
SourceSectionFilter |
A source section filter represents an expression for a subset of tagged source sections that are
used in an Truffle interpreter.
|
SourceSectionFilter.IndexRange |
Represents a range between two indices within a
source section
filter . |
StandardTags |
Set of standard tags usable by language agnostic tools.
|
StandardTags.CallTag |
Marks program locations that represent a call to other guest language functions, methods or
closures.
|
StandardTags.ExpressionTag |
Marks program locations as to be considered expressions of the languages.
|
StandardTags.ReadVariableTag |
Marks program locations to be considered as reads of variables of the languages.
|
StandardTags.RootBodyTag |
Marks program locations as bodies of a function, method or closure.
|
StandardTags.RootTag |
Marks program locations as root of a function, method or closure.
|
StandardTags.StatementTag |
Marks program locations that represent a statement of a language.
|
StandardTags.TryBlockTag |
Marks program locations to be considered as try blocks, that are followed by catch.
|
StandardTags.WriteVariableTag |
Marks program locations to be considered as writes of variables of the languages.
|
Tag |
Base class for tags used in the Truffle instrumentation framework.
|
TruffleInstrument |
The service provider interface (SPI) for Truffle instruments: clients of Truffle instrumentation
that may observe and inject behavior into interpreters written using the Truffle framework.
|
TruffleInstrument.ContextLocalProvider |
Provider for creating context local and context thread local references.
|
TruffleInstrument.Env |
Access to instrumentation services as well as input, output, and error streams.
|
Annotation Type | Description |
---|---|
GenerateWrapper |
Generates a default wrapper subclass of an annotated
InstrumentableNode subclass. |
GenerateWrapper.Ignore |
Annotates a method which should not be instrumented in the generated wrapper subclass.
|
GenerateWrapper.IncomingConverter |
Annotates a method to be used as incoming value converter.
|
GenerateWrapper.OutgoingConverter |
Annotates a method to be used as outgoing value converter.
|
ProvidedTags |
Specifies a set of tags that are provided by a
language implementation. |
Tag.Identifier |
Annotation applied to
Tag subclasses to specify the tag identifier. |
TruffleInstrument.Registration |
Annotation that registers an
instrument implementations for
automatic discovery. |
InstrumentableNode
.
For details please refer to InstrumentableNode
.
To use the instrumentation framework implementors must implement the
TruffleInstrument
interface. Please refer to
TruffleInstrument
for further details.
Guest languages that want to use the capabilities of the instrumentation framework can access
Instrumenter
for their
TruffleLanguage
by calling
TruffleLanguage.Env.lookup(Class)
.
SourceSectionFilter
created using guest languages
may be used to implement guest language features that require meta-programming capabilities.TruffleInstrument
,
InstrumentableNode