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.ForeignHasPropertyCacheNode |
static class |
HasPropertyCacheNode.GenericHasPropertyCacheNode |
static class |
HasPropertyCacheNode.HasCacheNode |
static class |
HasPropertyCacheNode.JSAdapterHasPropertyCacheNode |
static class |
HasPropertyCacheNode.JSProxyDispatcherPropertyHasNode |
static class |
HasPropertyCacheNode.LinkedHasPropertyCacheNode |
static class |
HasPropertyCacheNode.ModuleNamespaceHasOwnPropertyNode |
static class |
HasPropertyCacheNode.PresentHasPropertyCacheNode |
static class |
HasPropertyCacheNode.UnspecializedHasPropertyCacheNode |
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 HasPropertyCacheNode.HasCacheNode |
cacheNode |
context, key| Modifier | Constructor and Description |
|---|---|
protected |
HasPropertyCacheNode(Object key,
JSContext context,
boolean hasOwnProperty) |
| 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 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,
JSDynamicObject proto,
int depth,
Object value,
HasPropertyCacheNode.HasCacheNode currentHead)
Make a cache for a JSObject with this property map and requested property.
|
protected HasPropertyCacheNode.HasCacheNode |
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 HasPropertyCacheNode.HasCacheNode |
createGenericPropertyNode()
Make a generic-case node, for when polymorphism becomes too high.
|
protected HasPropertyCacheNode.HasCacheNode |
createJavaPropertyNodeMaybe(Object thisObj,
JSDynamicObject proto,
int depth) |
protected HasPropertyCacheNode.HasCacheNode |
createTruffleObjectPropertyNode() |
protected HasPropertyCacheNode.HasCacheNode |
createUndefinedPropertyNode(Object thisObj,
Object store,
JSDynamicObject proto,
int depth,
Object value) |
protected HasPropertyCacheNode.HasCacheNode |
getCacheNode() |
boolean |
hasProperty(Object thisObj) |
protected boolean |
isGlobal() |
protected boolean |
isOwnProperty()
Gets the value of the property ownProperty.
|
protected boolean |
isPropertyAssumptionCheckEnabled() |
protected void |
setCacheNode(HasPropertyCacheNode.HasCacheNode cache) |
protected void |
setPropertyAssumptionCheckEnabled(boolean value) |
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<HasPropertyCacheNode.HasCacheNode>protected HasPropertyCacheNode.HasCacheNode cacheNode
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 getCacheNode()
getCacheNode in class PropertyCacheNode<HasPropertyCacheNode.HasCacheNode>protected void setCacheNode(HasPropertyCacheNode.HasCacheNode cache)
setCacheNode in class PropertyCacheNode<HasPropertyCacheNode.HasCacheNode>protected HasPropertyCacheNode.HasCacheNode createCachedPropertyNode(com.oracle.truffle.api.object.Property property, Object thisObj, JSDynamicObject proto, 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, JSDynamicObject proto, int depth, Object value)
createUndefinedPropertyNode in class PropertyCacheNode<HasPropertyCacheNode.HasCacheNode>protected HasPropertyCacheNode.HasCacheNode createJavaPropertyNodeMaybe(Object thisObj, JSDynamicObject proto, 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>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<HasPropertyCacheNode.HasCacheNode>protected HasPropertyCacheNode.HasCacheNode 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<HasPropertyCacheNode.HasCacheNode>