Class PropertyCacheNode.ConstantObjectAssumptionShapeCheckNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.access.PropertyCacheNode.ReceiverCheckNode
com.oracle.truffle.js.nodes.access.PropertyCacheNode.AbstractShapeCheckNode
com.oracle.truffle.js.nodes.access.PropertyCacheNode.AbstractSingleRealmShapeCheckNode
com.oracle.truffle.js.nodes.access.PropertyCacheNode.ConstantObjectAssumptionShapeCheckNode
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,Cloneable
- Enclosing class:
PropertyCacheNode<T extends PropertyCacheNode.CacheNode<T>>
protected static final class PropertyCacheNode.ConstantObjectAssumptionShapeCheckNode
extends PropertyCacheNode.AbstractSingleRealmShapeCheckNode
Check that the given shape is valid and the property is unchanged using assumptions only.
Requires that the object is constant. Used e.g. for stable global object property accesses.
- See Also:
-
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
Fields inherited from class com.oracle.truffle.js.nodes.access.PropertyCacheNode.AbstractSingleRealmShapeCheckNode
assumptionsFields inherited from class com.oracle.truffle.js.nodes.access.PropertyCacheNode.ReceiverCheckNode
shape -
Method Summary
Modifier and TypeMethodDescriptionbooleanCheck receiver shape, class, or instance.protected booleanMethods inherited from class com.oracle.truffle.js.nodes.access.PropertyCacheNode.AbstractSingleRealmShapeCheckNode
isValidMethods inherited from class com.oracle.truffle.js.nodes.access.PropertyCacheNode.AbstractShapeCheckNode
getDepthMethods inherited from class com.oracle.truffle.js.nodes.access.PropertyCacheNode.ReceiverCheckNode
getShapeMethods 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
-
Method Details
-
accept
Description copied from class:PropertyCacheNode.ReceiverCheckNodeCheck receiver shape, class, or instance.- Overrides:
acceptin classPropertyCacheNode.AbstractShapeCheckNode- Returns:
- whether the object is supported by the associated property cache node.
-
getStore
- Specified by:
getStorein classPropertyCacheNode.AbstractShapeCheckNode- Returns:
- the
JSDynamicObjectthat contains the property.
-
isUnstable
protected boolean isUnstable()- Overrides:
isUnstablein classPropertyCacheNode.ReceiverCheckNode- Returns:
- true if a stable property assumption failed.
-