Class SpecializedNewObjectNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.function.SpecializedNewObjectNode
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,Cloneable
-
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.Children -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final JSContextprotected final JSNonProxyprotected final booleanprotected final booleanprotected final booleanprotected final boolean -
Constructor Summary
ConstructorsConstructorDescriptionSpecializedNewObjectNode(JSContext context, boolean isBuiltin, boolean isConstructor, boolean isGenerator, boolean isAsyncGenerator, JSNonProxy instanceLayout) -
Method Summary
Modifier and TypeMethodDescriptionstatic SpecializedNewObjectNodecreate(JSFunctionData functionData, JSOrdinary instanceLayout) static SpecializedNewObjectNodecreate(JSContext context, boolean isBuiltin, boolean isConstructor, boolean isGenerator, boolean isAsyncGenerator, JSNonProxy instanceLayout) createDefaultProto(JSDynamicObject target, Object prototype) createWithProto(JSDynamicObject target, JSObject prototype, com.oracle.truffle.api.object.DynamicObjectLibrary setProtoNode, com.oracle.truffle.api.object.Shape cachedShape) createWithProtoCachedClass(JSDynamicObject target, Object prototype, com.oracle.truffle.api.object.DynamicObjectLibrary setProtoNode, Class<?> prototypeClass, com.oracle.truffle.api.object.Shape cachedShape) doCachedProto(JSDynamicObject target, Object prototype, Object cachedPrototype, JSObjectFactory factory) doUncachedProto(JSDynamicObject target, JSObject prototype, com.oracle.truffle.api.profiles.InlinedBranchProfile slowBranch) Many different prototypes.final JSDynamicObjectexecute(com.oracle.truffle.api.frame.VirtualFrame frame, JSDynamicObject newTarget) protected abstract JSDynamicObjectexecute(JSDynamicObject newTarget, Object prototype) protected com.oracle.truffle.api.object.ShapethrowNotConstructorFunctionTypeError(JSDynamicObject target, Object proto) Methods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode
copy, getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, onReplaceMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, toString
-
Field Details
-
context
-
isBuiltin
protected final boolean isBuiltin -
isConstructor
protected final boolean isConstructor -
isGenerator
protected final boolean isGenerator -
isAsyncGenerator
protected final boolean isAsyncGenerator -
instanceLayout
-
-
Constructor Details
-
SpecializedNewObjectNode
public SpecializedNewObjectNode(JSContext context, boolean isBuiltin, boolean isConstructor, boolean isGenerator, boolean isAsyncGenerator, JSNonProxy instanceLayout)
-
-
Method Details
-
create
public static SpecializedNewObjectNode create(JSContext context, boolean isBuiltin, boolean isConstructor, boolean isGenerator, boolean isAsyncGenerator, JSNonProxy instanceLayout) -
create
public static SpecializedNewObjectNode create(JSFunctionData functionData, JSOrdinary instanceLayout) -
execute
public final JSDynamicObject execute(com.oracle.truffle.api.frame.VirtualFrame frame, JSDynamicObject newTarget) -
execute
-
getShapeWithoutProto
protected com.oracle.truffle.api.object.Shape getShapeWithoutProto() -
doCachedProto
public JSDynamicObject doCachedProto(JSDynamicObject target, Object prototype, Object cachedPrototype, JSObjectFactory factory) -
doUncachedProto
public JSDynamicObject doUncachedProto(JSDynamicObject target, JSObject prototype, com.oracle.truffle.api.profiles.InlinedBranchProfile slowBranch) Many different prototypes. -
createWithProtoCachedClass
public JSDynamicObject createWithProtoCachedClass(JSDynamicObject target, Object prototype, com.oracle.truffle.api.object.DynamicObjectLibrary setProtoNode, Class<?> prototypeClass, com.oracle.truffle.api.object.Shape cachedShape) -
createWithProto
public JSDynamicObject createWithProto(JSDynamicObject target, JSObject prototype, com.oracle.truffle.api.object.DynamicObjectLibrary setProtoNode, com.oracle.truffle.api.object.Shape cachedShape) -
createDefaultProto
-
throwNotConstructorFunctionTypeError
-