Class GlobalBuiltins.JSGlobalIndirectEvalNode
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.function.AbstractBodyNode
com.oracle.truffle.js.nodes.function.JSBuiltinNode
com.oracle.truffle.js.builtins.GlobalBuiltins.JSGlobalIndirectEvalNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode, com.oracle.truffle.api.nodes.NodeInterface, Cloneable
- Enclosing class:
GlobalBuiltins
This node is used only for indirect calls to eval. Direct calls are handled by
EvalNode.-
Nested Class Summary
Nested classes/interfaces inherited from class JSBuiltinNode
JSBuiltinNode.Inlineable, JSBuiltinNode.InlinedNested 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 JSBuiltinNode
ARGUMENTSFields inherited from class JavaScriptNode
INTERMEDIATE_VALUE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected BigIntindirectEvalBigInt(BigInt source) protected booleanindirectEvalBoolean(boolean source) protected doubleindirectEvalDouble(double source) protected ObjectindirectEvalForeignObject(Object source, com.oracle.truffle.api.interop.InteropLibrary interop, com.oracle.truffle.api.strings.TruffleString.SwitchEncodingNode switchEncoding, com.oracle.truffle.api.strings.TruffleString.ToJavaStringNode toJavaString) protected intindirectEvalInt(int source) indirectEvalJSType(JSDynamicObject object) protected longindirectEvalLong(long source) protected SafeIntegerindirectEvalSafeInteger(SafeInteger source) protected ObjectindirectEvalString(com.oracle.truffle.api.strings.TruffleString source, com.oracle.truffle.api.strings.TruffleString.ToJavaStringNode toJavaString) protected SymbolindirectEvalSymbol(Symbol source) booleanIf true, this function needs the call source location.Methods inherited from class JSBuiltinNode
copyUninitialized, countsTowardsStackTraceLimit, createBuiltin, getArguments, getBuiltin, getContext, getNodeObject, hasTag, isInlineable, isSplitImmediately, tryCreateInlinedMethods inherited from class AbstractBodyNode
executeBoolean, executeDouble, executeInt, executeVoidMethods inherited from class JavaScriptNode
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, execute, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, isResultAlwaysOfType, onReplace, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsMethods inherited from class 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 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
-
Constructor Details
-
JSGlobalIndirectEvalNode
-
-
Method Details
-
indirectEvalString
protected Object indirectEvalString(com.oracle.truffle.api.strings.TruffleString source, com.oracle.truffle.api.strings.TruffleString.ToJavaStringNode toJavaString) -
indirectEvalForeignObject
-
indirectEvalInt
protected int indirectEvalInt(int source) -
indirectEvalSafeInteger
-
indirectEvalLong
protected long indirectEvalLong(long source) -
indirectEvalDouble
protected double indirectEvalDouble(double source) -
indirectEvalBoolean
protected boolean indirectEvalBoolean(boolean source) -
indirectEvalSymbol
-
indirectEvalBigInt
-
indirectEvalJSType
-
isCallerSensitive
public boolean isCallerSensitive()Description copied from class:JSBuiltinNodeIf true, this function needs the call source location. The call node uses this hint to try and pass the call node via a thread-local field (in the case of a direct call) that the built-in can then use to avoid an expensive stack walk.- Overrides:
isCallerSensitivein classJSBuiltinNode
-