public class PropertySetNode extends PropertyCacheNode<PropertySetNode.SetCacheNode>
WritePropertyNode| Type | Property and Description |
|---|---|
protected boolean |
isOwn
Gets the value of the property ownProperty.
|
PropertyCacheNode.AbstractFinalPrototypeShapeCheckNode, PropertyCacheNode.AbstractShapeCheckNode, PropertyCacheNode.AbstractSingleRealmShapeCheckNode, PropertyCacheNode.CacheNode<T extends PropertyCacheNode.CacheNode<T>>, PropertyCacheNode.CombinedShapeCheckNode, PropertyCacheNode.ConstantObjectAssumptionShapeCheckNode, PropertyCacheNode.ConstantObjectPrototypeChainShapeCheckNode, PropertyCacheNode.ForeignLanguageCheckNode, PropertyCacheNode.InstanceofCheckNode, PropertyCacheNode.NullCheckNode, PropertyCacheNode.PrototypeChainShapeCheckNode, PropertyCacheNode.PrototypeShapeCheckNode, PropertyCacheNode.ReceiverCheckNode, PropertyCacheNode.ShapeCheckNode, PropertyCacheNode.TraversePrototypeChainShapeCheckNode, PropertyCacheNode.TraversePrototypeShapeCheckNode, PropertyCacheNode.TraverseValuePrototypeChainCheckNode, PropertyCacheNode.ValuePrototypeChainCheckNode| Modifier and Type | Field and Description |
|---|---|
protected PropertySetNode.SetCacheNode |
cacheNode |
context, key| Modifier | Constructor and Description |
|---|---|
protected |
PropertySetNode(Object key,
JSContext context,
boolean isGlobal,
boolean isStrict,
boolean setOwnProperty,
int attributeFlags,
boolean declaration,
boolean superProperty) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
canCombineShapeCheck(com.oracle.truffle.api.object.Shape parentShape,
com.oracle.truffle.api.object.Shape cacheShape,
Object thisObj,
int depth,
Object value,
com.oracle.truffle.api.object.Property property) |
static PropertySetNode |
create(Object key,
boolean isGlobal,
JSContext context,
boolean isStrict) |
protected PropertySetNode.SetCacheNode |
createCachedPropertyNode(com.oracle.truffle.api.object.Property property,
Object thisObj,
JSDynamicObject proto,
int depth,
Object value,
PropertySetNode.SetCacheNode currentHead)
Make a cache for a JSObject with this property map and requested property.
|
protected PropertySetNode.SetCacheNode |
createCombinedIcPropertyNode(com.oracle.truffle.api.object.Shape parentShape,
com.oracle.truffle.api.object.Shape cacheShape,
Object thisObj,
int depth,
Object value,
com.oracle.truffle.api.object.Property property) |
protected PropertySetNode.SetCacheNode |
createGenericPropertyNode() |
static PropertySetNode |
createImpl(Object key,
boolean isGlobal,
JSContext context,
boolean isStrict,
boolean setOwnProperty,
int attributeFlags) |
static PropertySetNode |
createImpl(Object key,
boolean isGlobal,
JSContext context,
boolean isStrict,
boolean setOwnProperty,
int attributeFlags,
boolean declaration) |
static PropertySetNode |
createImpl(Object key,
boolean isGlobal,
JSContext context,
boolean isStrict,
boolean setOwnProperty,
int attributeFlags,
boolean declaration,
boolean superProperty) |
protected PropertySetNode.SetCacheNode |
createJavaPropertyNodeMaybe(Object thisObj,
JSDynamicObject proto,
int depth) |
static PropertySetNode |
createSetHidden(com.oracle.truffle.api.object.HiddenKey key,
JSContext context) |
protected PropertySetNode.SetCacheNode |
createTruffleObjectPropertyNode() |
protected PropertySetNode.SetCacheNode |
createUndefinedPropertyNode(Object thisObj,
Object store,
JSDynamicObject proto,
int depth,
Object value) |
protected int |
getAttributeFlags() |
protected PropertySetNode.SetCacheNode |
getCacheNode() |
protected boolean |
isDeclaration() |
protected boolean |
isGlobal() |
protected boolean |
isOwnProperty()
Gets the value of the property ownProperty.
|
protected boolean |
isPropertyAssumptionCheckEnabled() |
protected boolean |
isStrict() |
protected void |
setCacheNode(PropertySetNode.SetCacheNode cache) |
protected void |
setPropertyAssumptionCheckEnabled(boolean value) |
void |
setValue(Object obj,
Object value) |
protected void |
setValue(Object thisObj,
Object value,
Object receiver) |
void |
setValueBoolean(Object obj,
boolean value) |
protected void |
setValueBoolean(Object thisObj,
boolean value,
Object receiver) |
void |
setValueDouble(Object obj,
double value) |
protected void |
setValueDouble(Object thisObj,
double value,
Object receiver) |
void |
setValueInt(Object obj,
int value) |
protected void |
setValueInt(Object thisObj,
int value,
Object receiver) |
alwaysUseStore, castDynamicObject, checkForUnstableAssumption, createJSClassCheck, createPrimitiveReceiverCheck, createShapeCheckNode, createSpecialization, deoptimize, filterValid, getAccessorKey, getAccessorKey, getContext, getCost, getKey, getPrototypeAtDepth, insertCached, invalidateCache, isArrayLengthProperty, isClassPrototypeProperty, isDynamicObject, isFunctionLengthProperty, isFunctionNameProperty, isLazyNamedCaptureGroupProperty, isLazyRegexResultIndexProperty, isStringLengthProperty, propertyAssumptionsValid, prototypesInShape, retryCache, rewriteCached, rewriteToGeneric, shapesHaveCommonLayoutForKey, specialize, specialize, traceRewriteEvictFinal, tryMergeShapes, wrapPrimitivecopy, getLanguage, getRealm, hasOverloadedOperators, onReplaceaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, toStringprotected boolean isOwnProperty
isOwnProperty in class PropertyCacheNode<PropertySetNode.SetCacheNode>protected PropertySetNode.SetCacheNode cacheNode
public static PropertySetNode create(Object key, boolean isGlobal, JSContext context, boolean isStrict)
public static PropertySetNode createImpl(Object key, boolean isGlobal, JSContext context, boolean isStrict, boolean setOwnProperty, int attributeFlags)
public static PropertySetNode createImpl(Object key, boolean isGlobal, JSContext context, boolean isStrict, boolean setOwnProperty, int attributeFlags, boolean declaration)
public static PropertySetNode createImpl(Object key, boolean isGlobal, JSContext context, boolean isStrict, boolean setOwnProperty, int attributeFlags, boolean declaration, boolean superProperty)
public static PropertySetNode createSetHidden(com.oracle.truffle.api.object.HiddenKey key, JSContext context)
public final void setValueInt(Object obj, int value)
public final void setValueDouble(Object obj, double value)
public final void setValueBoolean(Object obj, boolean value)
protected PropertySetNode.SetCacheNode getCacheNode()
getCacheNode in class PropertyCacheNode<PropertySetNode.SetCacheNode>protected void setCacheNode(PropertySetNode.SetCacheNode cache)
setCacheNode in class PropertyCacheNode<PropertySetNode.SetCacheNode>protected PropertySetNode.SetCacheNode createCachedPropertyNode(com.oracle.truffle.api.object.Property property, Object thisObj, JSDynamicObject proto, int depth, Object value, PropertySetNode.SetCacheNode currentHead)
createCachedPropertyNode in class PropertyCacheNode<PropertySetNode.SetCacheNode>property - The particular entry of the property being accessed.protected PropertySetNode.SetCacheNode createUndefinedPropertyNode(Object thisObj, Object store, JSDynamicObject proto, int depth, Object value)
createUndefinedPropertyNode in class PropertyCacheNode<PropertySetNode.SetCacheNode>protected PropertySetNode.SetCacheNode createJavaPropertyNodeMaybe(Object thisObj, JSDynamicObject proto, int depth)
createJavaPropertyNodeMaybe in class PropertyCacheNode<PropertySetNode.SetCacheNode>protected PropertySetNode.SetCacheNode createGenericPropertyNode()
createGenericPropertyNode in class PropertyCacheNode<PropertySetNode.SetCacheNode>protected boolean isGlobal()
isGlobal in class PropertyCacheNode<PropertySetNode.SetCacheNode>protected boolean isOwnProperty()
isOwnProperty in class PropertyCacheNode<PropertySetNode.SetCacheNode>protected final boolean isStrict()
protected final int getAttributeFlags()
protected final boolean isDeclaration()
protected PropertySetNode.SetCacheNode createTruffleObjectPropertyNode()
createTruffleObjectPropertyNode in class PropertyCacheNode<PropertySetNode.SetCacheNode>protected boolean isPropertyAssumptionCheckEnabled()
isPropertyAssumptionCheckEnabled in class PropertyCacheNode<PropertySetNode.SetCacheNode>protected void setPropertyAssumptionCheckEnabled(boolean value)
setPropertyAssumptionCheckEnabled in class PropertyCacheNode<PropertySetNode.SetCacheNode>protected boolean canCombineShapeCheck(com.oracle.truffle.api.object.Shape parentShape,
com.oracle.truffle.api.object.Shape cacheShape,
Object thisObj,
int depth,
Object value,
com.oracle.truffle.api.object.Property property)
canCombineShapeCheck in class PropertyCacheNode<PropertySetNode.SetCacheNode>protected PropertySetNode.SetCacheNode createCombinedIcPropertyNode(com.oracle.truffle.api.object.Shape parentShape, com.oracle.truffle.api.object.Shape cacheShape, Object thisObj, int depth, Object value, com.oracle.truffle.api.object.Property property)
createCombinedIcPropertyNode in class PropertyCacheNode<PropertySetNode.SetCacheNode>