public abstract class JSArrayLastElementIndexNode extends JSArrayElementIndexNode
context, MAX_CACHED_ARRAY_TYPES| Modifier | Constructor and Description |
|---|---|
protected |
JSArrayLastElementIndexNode(JSContext context) |
| Modifier and Type | Method and Description |
|---|---|
static JSArrayLastElementIndexNode |
create(JSContext context) |
long |
doObject(Object object,
long length,
boolean isArray,
JSHasPropertyNode hasPropertyNode) |
long |
doObjectViaEnumeration(JSDynamicObject object,
long length,
boolean isArray,
JSHasPropertyNode hasPropertyNode) |
long |
doObjectViaFullEnumeration(JSDynamicObject object,
long length,
boolean isArray,
JSHasPropertyNode hasPropertyNode) |
long |
doWithHolesCached(JSDynamicObject object,
long length,
boolean isArray,
ScriptArray cachedArrayType,
com.oracle.truffle.api.nodes.Node node,
JSArrayPreviousElementIndexNode previousElementIndexNode,
com.oracle.truffle.api.profiles.InlinedConditionProfile isLengthMinusOne) |
long |
doWithHolesUncached(JSDynamicObject object,
long length,
boolean isArray,
JSArrayPreviousElementIndexNode previousElementIndexNode,
com.oracle.truffle.api.profiles.InlinedConditionProfile isLengthMinusOne,
com.oracle.truffle.api.profiles.InlinedExactClassProfile arrayTypeProfile) |
long |
doWithoutHolesCached(JSDynamicObject object,
long length,
boolean isArray,
ScriptArray cachedArrayType) |
long |
doWithoutHolesUncached(JSDynamicObject object,
long length,
boolean isArray) |
long |
executeLong(Object object,
long length) |
abstract long |
executeLong(Object object,
long length,
boolean isArray) |
getArrayType, getArrayTypeIfArray, hasHoles, hasPrototypeElements, isArray, isSuitableForEnumBasedProcessing, isSuitableForEnumBasedProcessingUsingOwnKeys, isSupportedArraycopy, getLanguage, getRealm, hasOverloadedOperators, onReplaceaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, toStringprotected JSArrayLastElementIndexNode(JSContext context)
public static JSArrayLastElementIndexNode create(JSContext context)
public final long executeLong(Object object, long length)
public abstract long executeLong(Object object, long length, boolean isArray)
public long doWithoutHolesCached(JSDynamicObject object, long length, boolean isArray, ScriptArray cachedArrayType)
public long doWithoutHolesUncached(JSDynamicObject object, long length, boolean isArray)
public long doWithHolesCached(JSDynamicObject object, long length, boolean isArray, ScriptArray cachedArrayType, com.oracle.truffle.api.nodes.Node node, JSArrayPreviousElementIndexNode previousElementIndexNode, com.oracle.truffle.api.profiles.InlinedConditionProfile isLengthMinusOne)
public long doWithHolesUncached(JSDynamicObject object, long length, boolean isArray, JSArrayPreviousElementIndexNode previousElementIndexNode, com.oracle.truffle.api.profiles.InlinedConditionProfile isLengthMinusOne, com.oracle.truffle.api.profiles.InlinedExactClassProfile arrayTypeProfile)
public long doObjectViaEnumeration(JSDynamicObject object, long length, boolean isArray, JSHasPropertyNode hasPropertyNode)
public long doObjectViaFullEnumeration(JSDynamicObject object, long length, boolean isArray, JSHasPropertyNode hasPropertyNode)
public long doObject(Object object, long length, boolean isArray, JSHasPropertyNode hasPropertyNode)