public class HasPropertyCacheNode extends PropertyCacheNode<HasPropertyCacheNode.HasCacheNode>
PropertyGetNode
Type | Property and Description |
---|---|
protected boolean |
isOwn
Gets the value of the property ownProperty.
|
Modifier and Type | Class and Description |
---|---|
static class |
HasPropertyCacheNode.AbsentHasPropertyCacheNode
For use when a property is undefined.
|
static class |
HasPropertyCacheNode.ArrayBufferViewHasNonIntegerIndexNode |
static class |
HasPropertyCacheNode.ForeignHasPropertyCacheNode |
static class |
HasPropertyCacheNode.GenericHasPropertyCacheNode |
static class |
HasPropertyCacheNode.HasCacheNode |
static class |
HasPropertyCacheNode.JSAdapterHasPropertyCacheNode |
static class |
HasPropertyCacheNode.JSProxyDispatcherPropertyHasNode |
static class |
HasPropertyCacheNode.LinkedHasPropertyCacheNode |
static class |
HasPropertyCacheNode.PresentHasPropertyCacheNode |
static class |
HasPropertyCacheNode.UnspecializedHasPropertyCacheNode |
PropertyCacheNode.AbstractAssumptionShapeCheckNode, PropertyCacheNode.AbstractShapeCheckNode, PropertyCacheNode.AssumptionShapeCheckNode, PropertyCacheNode.CacheNode<T extends PropertyCacheNode.CacheNode<T>>, PropertyCacheNode.ConstantObjectAssumptionShapeCheckNode, PropertyCacheNode.ConstantObjectPrototypeChainShapeCheckNode, PropertyCacheNode.ConstantObjectPrototypeShapeCheckNode, PropertyCacheNode.ConstantObjectReceiverCheck, PropertyCacheNode.ConstantObjectShapeCheckNode, PropertyCacheNode.ForeignLanguageCheckNode, PropertyCacheNode.InstanceofCheckNode, PropertyCacheNode.JSClassCheckNode, PropertyCacheNode.NullCheckNode, PropertyCacheNode.PrimitiveReceiverCheckNode, PropertyCacheNode.PrototypeChainCheckNode, PropertyCacheNode.PrototypeChainShapeCheckNode, PropertyCacheNode.PrototypeShapeCheckNode, PropertyCacheNode.ReceiverCheckNode, PropertyCacheNode.ShapeCheckNode, PropertyCacheNode.TraversePrototypeChainCheckNode, PropertyCacheNode.TraversePrototypeChainShapeCheckNode, PropertyCacheNode.TraversePrototypeShapeCheckNode
cacheNode, context, key
Modifier | Constructor and Description |
---|---|
protected |
HasPropertyCacheNode(Object key,
JSContext context,
boolean hasOwnProperty) |
Modifier and Type | Method and Description |
---|---|
static HasPropertyCacheNode |
create(Object key,
JSContext context) |
static HasPropertyCacheNode |
create(Object key,
JSContext context,
boolean hasOwnProperty) |
protected HasPropertyCacheNode.HasCacheNode |
createCachedPropertyNode(com.oracle.truffle.api.object.Property property,
Object thisObj,
int depth,
Object value,
HasPropertyCacheNode.HasCacheNode currentHead)
Make a cache for a JSObject with this property map and requested property.
|
protected HasPropertyCacheNode.HasCacheNode |
createGenericPropertyNode()
Make a generic-case node, for when polymorphism becomes too high.
|
protected HasPropertyCacheNode.HasCacheNode |
createJavaPropertyNodeMaybe(Object thisObj,
int depth) |
protected HasPropertyCacheNode.HasCacheNode |
createTruffleObjectPropertyNode() |
protected HasPropertyCacheNode.HasCacheNode |
createUndefinedPropertyNode(Object thisObj,
Object store,
int depth,
Object value) |
boolean |
hasProperty(Object thisObj) |
protected boolean |
isGlobal() |
protected boolean |
isOwnProperty()
Gets the value of the property ownProperty.
|
protected boolean |
isPropertyAssumptionCheckEnabled() |
protected void |
setPropertyAssumptionCheckEnabled(boolean value) |
alwaysUseStore, checkForUnstableAssumption, createCachedAccess, createPrimitiveReceiverCheck, createShapeCheckNode, createSpecialization, deoptimize, filterValid, getAccessorKey, getAccessorKey, getContext, getCost, getKey, insertCached, invalidateCache, isArrayLengthProperty, isClassPrototypeProperty, isFunctionLengthProperty, isFunctionNameProperty, isLazyNamedCaptureGroupProperty, isLazyRegexResultIndexProperty, isNonIntegerIndex, isStringLengthProperty, propertyAssumptionsValid, prototypesInShape, retryCache, rewriteCached, rewriteToGeneric, specialize, specialize, traceRewriteEvictFinal, tryMergeShapes, wrapPrimitive
copy, onReplace
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, lookupContextReference, lookupLanguageReference, notifyInserted, replace, replace, reportPolymorphicSpecialize, toString
protected boolean isOwnProperty
isOwnProperty
in class PropertyCacheNode<HasPropertyCacheNode.HasCacheNode>
public static HasPropertyCacheNode create(Object key, JSContext context, boolean hasOwnProperty)
public static HasPropertyCacheNode create(Object key, JSContext context)
public boolean hasProperty(Object thisObj)
protected HasPropertyCacheNode.HasCacheNode createCachedPropertyNode(com.oracle.truffle.api.object.Property property, Object thisObj, int depth, Object value, HasPropertyCacheNode.HasCacheNode currentHead)
createCachedPropertyNode
in class PropertyCacheNode<HasPropertyCacheNode.HasCacheNode>
property
- The particular entry of the property being accessed.protected HasPropertyCacheNode.HasCacheNode createUndefinedPropertyNode(Object thisObj, Object store, int depth, Object value)
createUndefinedPropertyNode
in class PropertyCacheNode<HasPropertyCacheNode.HasCacheNode>
protected HasPropertyCacheNode.HasCacheNode createJavaPropertyNodeMaybe(Object thisObj, int depth)
createJavaPropertyNodeMaybe
in class PropertyCacheNode<HasPropertyCacheNode.HasCacheNode>
protected HasPropertyCacheNode.HasCacheNode createGenericPropertyNode()
createGenericPropertyNode
in class PropertyCacheNode<HasPropertyCacheNode.HasCacheNode>
protected boolean isPropertyAssumptionCheckEnabled()
isPropertyAssumptionCheckEnabled
in class PropertyCacheNode<HasPropertyCacheNode.HasCacheNode>
protected void setPropertyAssumptionCheckEnabled(boolean value)
setPropertyAssumptionCheckEnabled
in class PropertyCacheNode<HasPropertyCacheNode.HasCacheNode>
protected boolean isGlobal()
isGlobal
in class PropertyCacheNode<HasPropertyCacheNode.HasCacheNode>
protected boolean isOwnProperty()
isOwnProperty
in class PropertyCacheNode<HasPropertyCacheNode.HasCacheNode>
protected HasPropertyCacheNode.HasCacheNode createTruffleObjectPropertyNode()
createTruffleObjectPropertyNode
in class PropertyCacheNode<HasPropertyCacheNode.HasCacheNode>