public abstract class SpecializedNewObjectNode extends JavaScriptBaseNode
| Modifier and Type | Field and Description |
|---|---|
protected JSContext |
context |
protected boolean |
isAsyncGenerator |
protected boolean |
isBuiltin |
protected boolean |
isConstructor |
protected boolean |
isGenerator |
| Constructor and Description |
|---|
SpecializedNewObjectNode(JSContext context,
boolean isBuiltin,
boolean isConstructor,
boolean isGenerator,
boolean isAsyncGenerator) |
| Modifier and Type | Method and Description |
|---|---|
static SpecializedNewObjectNode |
create(JSContext context,
boolean isBuiltin,
boolean isConstructor,
boolean isGenerator,
boolean isAsyncGenerator) |
static SpecializedNewObjectNode |
create(JSFunctionData functionData) |
com.oracle.truffle.api.object.DynamicObject |
createDefaultProto(com.oracle.truffle.api.object.DynamicObject target,
Object prototype) |
com.oracle.truffle.api.object.DynamicObject |
createWithProto(com.oracle.truffle.api.object.DynamicObject target,
com.oracle.truffle.api.object.DynamicObject prototype,
com.oracle.truffle.api.object.DynamicObjectLibrary setProtoNode) |
com.oracle.truffle.api.object.DynamicObject |
createWithProtoCachedClass(com.oracle.truffle.api.object.DynamicObject target,
Object prototype,
com.oracle.truffle.api.object.DynamicObjectLibrary setProtoNode,
Class<?> prototypeClass) |
com.oracle.truffle.api.object.DynamicObject |
doCachedProto(com.oracle.truffle.api.object.DynamicObject target,
Object prototype,
Object cachedPrototype,
com.oracle.truffle.api.object.Shape shape) |
com.oracle.truffle.api.object.DynamicObject |
doUncachedProto(com.oracle.truffle.api.object.DynamicObject target,
com.oracle.truffle.api.object.DynamicObject prototype,
com.oracle.truffle.api.profiles.BranchProfile slowBranch)
Many different prototypes.
|
protected abstract com.oracle.truffle.api.object.DynamicObject |
execute(com.oracle.truffle.api.object.DynamicObject newTarget,
Object prototype) |
com.oracle.truffle.api.object.DynamicObject |
execute(com.oracle.truffle.api.frame.VirtualFrame frame,
com.oracle.truffle.api.object.DynamicObject newTarget) |
protected com.oracle.truffle.api.object.Shape |
getProtoChildShape(Object prototype) |
com.oracle.truffle.api.object.DynamicObject |
throwNotConstructorFunctionTypeError(com.oracle.truffle.api.object.DynamicObject target,
Object proto) |
copy, onReplaceaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, lookupContextReference, lookupLanguageReference, notifyInserted, replace, replace, reportPolymorphicSpecialize, toStringprotected final JSContext context
protected final boolean isBuiltin
protected final boolean isConstructor
protected final boolean isGenerator
protected final boolean isAsyncGenerator
public SpecializedNewObjectNode(JSContext context, boolean isBuiltin, boolean isConstructor, boolean isGenerator, boolean isAsyncGenerator)
public static SpecializedNewObjectNode create(JSContext context, boolean isBuiltin, boolean isConstructor, boolean isGenerator, boolean isAsyncGenerator)
public static SpecializedNewObjectNode create(JSFunctionData functionData)
public final com.oracle.truffle.api.object.DynamicObject execute(com.oracle.truffle.api.frame.VirtualFrame frame,
com.oracle.truffle.api.object.DynamicObject newTarget)
protected abstract com.oracle.truffle.api.object.DynamicObject execute(com.oracle.truffle.api.object.DynamicObject newTarget,
Object prototype)
protected com.oracle.truffle.api.object.Shape getProtoChildShape(Object prototype)
public com.oracle.truffle.api.object.DynamicObject doCachedProto(com.oracle.truffle.api.object.DynamicObject target,
Object prototype,
Object cachedPrototype,
com.oracle.truffle.api.object.Shape shape)
public com.oracle.truffle.api.object.DynamicObject doUncachedProto(com.oracle.truffle.api.object.DynamicObject target,
com.oracle.truffle.api.object.DynamicObject prototype,
com.oracle.truffle.api.profiles.BranchProfile slowBranch)
public com.oracle.truffle.api.object.DynamicObject createWithProtoCachedClass(com.oracle.truffle.api.object.DynamicObject target,
Object prototype,
com.oracle.truffle.api.object.DynamicObjectLibrary setProtoNode,
Class<?> prototypeClass)
public com.oracle.truffle.api.object.DynamicObject createWithProto(com.oracle.truffle.api.object.DynamicObject target,
com.oracle.truffle.api.object.DynamicObject prototype,
com.oracle.truffle.api.object.DynamicObjectLibrary setProtoNode)
public com.oracle.truffle.api.object.DynamicObject createDefaultProto(com.oracle.truffle.api.object.DynamicObject target,
Object prototype)
public com.oracle.truffle.api.object.DynamicObject throwNotConstructorFunctionTypeError(com.oracle.truffle.api.object.DynamicObject target,
Object proto)