Class PropertySetNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.access.PropertyCacheNode<PropertySetNode.SetCacheNode>
com.oracle.truffle.js.nodes.access.PropertySetNode
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,Cloneable
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic final classstatic final classstatic classstatic classstatic classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic classstatic final classstatic final classstatic final classstatic classstatic final classIf object is undefined or null, throw TypeError.Nested classes/interfaces inherited from class com.oracle.truffle.js.nodes.access.PropertyCacheNode
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.ValuePrototypeChainCheckNodeNested 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
FieldsFields inherited from class com.oracle.truffle.js.nodes.access.PropertyCacheNode
context, key -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedPropertySetNode(Object key, JSContext context, boolean isGlobal, boolean isStrict, boolean setOwnProperty, int attributeFlags, boolean declaration, boolean superProperty) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancanCombineShapeCheck(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 PropertySetNodeprotected PropertySetNode.SetCacheNodecreateCachedPropertyNode(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.SetCacheNodecreateCombinedIcPropertyNode(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.SetCacheNodestatic PropertySetNodecreateImpl(Object key, boolean isGlobal, JSContext context, boolean isStrict, boolean setOwnProperty, int attributeFlags) static PropertySetNodecreateImpl(Object key, boolean isGlobal, JSContext context, boolean isStrict, boolean setOwnProperty, int attributeFlags, boolean declaration) static PropertySetNodecreateImpl(Object key, boolean isGlobal, JSContext context, boolean isStrict, boolean setOwnProperty, int attributeFlags, boolean declaration, boolean superProperty) protected PropertySetNode.SetCacheNodecreateJavaPropertyNodeMaybe(Object thisObj, JSDynamicObject proto, int depth) static PropertySetNodecreateSetHidden(com.oracle.truffle.api.object.HiddenKey key, JSContext context) protected PropertySetNode.SetCacheNodeprotected PropertySetNode.SetCacheNodecreateUndefinedPropertyNode(Object thisObj, Object store, JSDynamicObject proto, int depth, Object value) protected final intprotected PropertySetNode.SetCacheNodeprotected final booleanprotected booleanisGlobal()protected booleanprotected booleanprotected final booleanisStrict()protected voidprotected voidsetPropertyAssumptionCheckEnabled(boolean value) final voidprotected voidfinal voidsetValueBoolean(Object obj, boolean value) protected voidsetValueBoolean(Object thisObj, boolean value, Object receiver) protected voidsetValueDouble(Object thisObj, double value, Object receiver) final voidsetValueInt(Object obj, int value) protected voidsetValueInt(Object thisObj, int value, Object receiver) Methods inherited from class com.oracle.truffle.js.nodes.access.PropertyCacheNode
alwaysUseStore, castDynamicObject, checkForUnstableAssumption, createJSClassCheck, createPrimitiveReceiverCheck, createShapeCheckNode, createSpecialization, deoptimize, filterValid, getAccessorKey, getAccessorKey, getContext, getKey, getPrototypeAtDepth, insertCached, invalidateCache, isArrayLengthProperty, isClassPrototypeProperty, isDynamicObject, isFunctionLengthProperty, isFunctionNameProperty, isLazyNamedCaptureGroupProperty, isLazyRegexResultIndexProperty, isStringLengthProperty, propertyAssumptionsValid, prototypesInShape, retryCache, rewriteCached, rewriteToGeneric, shapesHaveCommonLayoutForKey, specialize, specialize, traceRewriteEvictFinal, tryMergeShapes, wrapPrimitiveMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode
copy, getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, onReplace, reportLoopCount, reportLoopCountMethods 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, reportReplace, toString
-
Field Details
-
cacheNode
-
-
Constructor Details
-
PropertySetNode
-
-
Method Details
-
create
public static PropertySetNode create(Object key, boolean isGlobal, JSContext context, boolean isStrict) -
createImpl
public static PropertySetNode createImpl(Object key, boolean isGlobal, JSContext context, boolean isStrict, boolean setOwnProperty, int attributeFlags) -
createImpl
public static PropertySetNode createImpl(Object key, boolean isGlobal, JSContext context, boolean isStrict, boolean setOwnProperty, int attributeFlags, boolean declaration) -
createImpl
public static PropertySetNode createImpl(Object key, boolean isGlobal, JSContext context, boolean isStrict, boolean setOwnProperty, int attributeFlags, boolean declaration, boolean superProperty) -
createSetHidden
public static PropertySetNode createSetHidden(com.oracle.truffle.api.object.HiddenKey key, JSContext context) -
setValue
-
setValueInt
-
setValueBoolean
-
setValue
-
setValueInt
-
setValueDouble
-
setValueBoolean
-
getCacheNode
- Specified by:
getCacheNodein classPropertyCacheNode<PropertySetNode.SetCacheNode>
-
setCacheNode
- Specified by:
setCacheNodein classPropertyCacheNode<PropertySetNode.SetCacheNode>
-
createCachedPropertyNode
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.- Specified by:
createCachedPropertyNodein classPropertyCacheNode<PropertySetNode.SetCacheNode>- Parameters:
property- The particular entry of the property being accessed.
-
createUndefinedPropertyNode
protected PropertySetNode.SetCacheNode createUndefinedPropertyNode(Object thisObj, Object store, JSDynamicObject proto, int depth, Object value) - Specified by:
createUndefinedPropertyNodein classPropertyCacheNode<PropertySetNode.SetCacheNode>
-
createJavaPropertyNodeMaybe
protected PropertySetNode.SetCacheNode createJavaPropertyNodeMaybe(Object thisObj, JSDynamicObject proto, int depth) - Specified by:
createJavaPropertyNodeMaybein classPropertyCacheNode<PropertySetNode.SetCacheNode>
-
createGenericPropertyNode
- Specified by:
createGenericPropertyNodein classPropertyCacheNode<PropertySetNode.SetCacheNode>
-
isGlobal
protected boolean isGlobal()- Specified by:
isGlobalin classPropertyCacheNode<PropertySetNode.SetCacheNode>
-
isOwnProperty
protected boolean isOwnProperty()- Specified by:
isOwnPropertyin classPropertyCacheNode<PropertySetNode.SetCacheNode>
-
isStrict
protected final boolean isStrict() -
getAttributeFlags
protected final int getAttributeFlags() -
isDeclaration
protected final boolean isDeclaration() -
createTruffleObjectPropertyNode
- Specified by:
createTruffleObjectPropertyNodein classPropertyCacheNode<PropertySetNode.SetCacheNode>
-
isPropertyAssumptionCheckEnabled
protected boolean isPropertyAssumptionCheckEnabled()- Specified by:
isPropertyAssumptionCheckEnabledin classPropertyCacheNode<PropertySetNode.SetCacheNode>
-
setPropertyAssumptionCheckEnabled
protected void setPropertyAssumptionCheckEnabled(boolean value) - Specified by:
setPropertyAssumptionCheckEnabledin classPropertyCacheNode<PropertySetNode.SetCacheNode>
-
canCombineShapeCheck
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) - Specified by:
canCombineShapeCheckin classPropertyCacheNode<PropertySetNode.SetCacheNode>
-
createCombinedIcPropertyNode
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) - Specified by:
createCombinedIcPropertyNodein classPropertyCacheNode<PropertySetNode.SetCacheNode>
-