Class JSTaggedExecutionNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.JavaScriptNode
com.oracle.truffle.js.nodes.instrumentation.JSTaggedExecutionNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode,com.oracle.truffle.api.nodes.NodeInterface,Cloneable
A utility node used by the instrumentation framework to tag a given node with a specific tag. By
wrapping nodes with this class, tagging can be performed lazily, rather than at parsing time.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenNested classes/interfaces inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode -
Field Summary
Fields inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
INTERMEDIATE_VALUE -
Method Summary
Modifier and TypeMethodDescriptionprotected JavaScriptNodecopyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) static JavaScriptNodecreateFor(JavaScriptNode originalNode, Class<? extends com.oracle.truffle.api.instrumentation.Tag> expectedTag, Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) static JavaScriptNodecreateForInput(JavaScriptNode originalNode, JavaScriptNode transferSourcesFrom, Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) static JavaScriptNodecreateForInput(JavaScriptNode originalNode, Class<? extends com.oracle.truffle.api.instrumentation.Tag> expectedTag, NodeObjectDescriptor descriptor, Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) static JavaScriptNodecreateForInput(JavaScriptNode originalNode, Class<? extends com.oracle.truffle.api.instrumentation.Tag> expectedTag, Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) execute(com.oracle.truffle.api.frame.VirtualFrame frame) Executes this node using the specified context and frame and returns the result value.booleanMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, executeBoolean, executeDouble, executeInt, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, isResultAlwaysOfType, onReplace, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode
getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, reportLoopCount, reportLoopCountMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, reportReplaceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
createProbe, findNearestNodeAt, findNearestNodeAt, findProbe, materializeInstrumentableNodes
-
Method Details
-
createFor
public static JavaScriptNode createFor(JavaScriptNode originalNode, Class<? extends com.oracle.truffle.api.instrumentation.Tag> expectedTag, Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) -
createForInput
public static JavaScriptNode createForInput(JavaScriptNode originalNode, Class<? extends com.oracle.truffle.api.instrumentation.Tag> expectedTag, Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) -
createForInput
public static JavaScriptNode createForInput(JavaScriptNode originalNode, Class<? extends com.oracle.truffle.api.instrumentation.Tag> expectedTag, NodeObjectDescriptor descriptor, Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) -
createForInput
public static JavaScriptNode createForInput(JavaScriptNode originalNode, JavaScriptNode transferSourcesFrom, Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) -
getNodeObject
-
hasTag
- Specified by:
hasTagin interfacecom.oracle.truffle.api.instrumentation.InstrumentableNode- Overrides:
hasTagin classJavaScriptNode
-
execute
Description copied from class:JavaScriptNodeExecutes this node using the specified context and frame and returns the result value.- Specified by:
executein classJavaScriptNode- Parameters:
frame- the frame of the currently executing guest language method- Returns:
- the value of the execution
-
copyUninitialized
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) - Overrides:
copyUninitializedin classJavaScriptNode
-
getDelegateNode
-