Class ConstructorBuiltins.ConstructFunctionNode
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.ConstructorBuiltins.ConstructWithNewTargetNode
com.oracle.truffle.js.builtins.ConstructorBuiltins.ConstructFunctionNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode, com.oracle.truffle.api.nodes.NodeInterface, Cloneable
- Enclosing class:
ConstructorBuiltins
public abstract static class ConstructorBuiltins.ConstructFunctionNode
extends ConstructorBuiltins.ConstructWithNewTargetNode
-
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 ConstructorBuiltins.ConstructWithNewTargetNode
isNewTargetCaseFields inherited from class JSBuiltinNode
ARGUMENTSFields inherited from class JavaScriptNode
INTERMEDIATE_VALUE -
Constructor Summary
ConstructorsConstructorDescriptionConstructFunctionNode(JSContext context, JSBuiltin builtin, boolean generatorFunction, boolean asyncFunction, boolean isNewTargetCase) -
Method Summary
Modifier and TypeMethodDescriptionprotected final JSFunctionObjectconstructFunction(JSDynamicObject newTarget, Object[] args, com.oracle.truffle.api.profiles.InlinedConditionProfile hasArgsProfile, com.oracle.truffle.api.profiles.InlinedConditionProfile hasParamsProfile) protected JSDynamicObjectgetIntrinsicDefaultProto(JSRealm realm) booleanIf true, this function needs the call source location.Methods inherited from class ConstructorBuiltins.ConstructWithNewTargetNode
getPrototype, getRealmFromNewTarget, setPrototypeFromNewTarget, swapPrototypeMethods 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
-
ConstructFunctionNode
-
-
Method Details
-
constructFunction
protected final JSFunctionObject constructFunction(JSDynamicObject newTarget, Object[] args, com.oracle.truffle.api.profiles.InlinedConditionProfile hasArgsProfile, com.oracle.truffle.api.profiles.InlinedConditionProfile hasParamsProfile) -
getIntrinsicDefaultProto
- Specified by:
getIntrinsicDefaultProtoin classConstructorBuiltins.ConstructWithNewTargetNode
-
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
-