Class JSArrayFirstElementIndexNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.array.JSArrayElementIndexNode
com.oracle.truffle.js.nodes.array.JSArrayFirstElementIndexNode
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface, Cloneable
Provides the functionality of ScriptArray.firstElementIndex but additionally adheres to the
prototype chain. It is implemented in a specialized and profiled fashion.
-
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 JSArrayElementIndexNode
context, MAX_CACHED_ARRAY_TYPES -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic JSArrayFirstElementIndexNodelongdoObject(Object object, long length, boolean isArray, JSHasPropertyNode hasPropertyNode) longdoWithHolesCached(JSDynamicObject object, long length, boolean isArray, ScriptArray cachedArrayType, com.oracle.truffle.api.nodes.Node node, JSArrayNextElementIndexNode nextElementIndexNode, com.oracle.truffle.api.profiles.InlinedConditionProfile isZero) longdoWithHolesUncached(JSDynamicObject object, long length, boolean isArray, JSArrayNextElementIndexNode nextElementIndexNode, com.oracle.truffle.api.profiles.InlinedConditionProfile isZero, com.oracle.truffle.api.profiles.InlinedExactClassProfile arrayTypeProfile) longdoWithoutHolesCached(JSDynamicObject object, long length, boolean isArray, ScriptArray cachedArrayType) longdoWithoutHolesUncached(JSDynamicObject object, long length, boolean isArray) final longexecuteLong(Object object, long length) abstract longexecuteLong(Object object, long length, boolean isArray) longfirstObjectViaEnumeration(JSDynamicObject object, long length, boolean isArray, JSHasPropertyNode hasPropertyNode) longfirstObjectViaFullEnumeration(JSDynamicObject object, long length, boolean isArray, JSHasPropertyNode hasPropertyNode) Methods inherited from class JSArrayElementIndexNode
getArrayType, getArrayTypeIfArray, hasHoles, hasPrototypeElements, isArray, isSuitableForEnumBasedProcessing, isSuitableForEnumBasedProcessingUsingOwnKeys, isSupportedArrayMethods inherited from class 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
-
Constructor Details
-
JSArrayFirstElementIndexNode
-
-
Method Details
-
create
-
executeLong
-
executeLong
-
doWithoutHolesCached
public long doWithoutHolesCached(JSDynamicObject object, long length, boolean isArray, ScriptArray cachedArrayType) -
doWithoutHolesUncached
-
doWithHolesCached
public long doWithHolesCached(JSDynamicObject object, long length, boolean isArray, ScriptArray cachedArrayType, com.oracle.truffle.api.nodes.Node node, JSArrayNextElementIndexNode nextElementIndexNode, com.oracle.truffle.api.profiles.InlinedConditionProfile isZero) -
doWithHolesUncached
public long doWithHolesUncached(JSDynamicObject object, long length, boolean isArray, JSArrayNextElementIndexNode nextElementIndexNode, com.oracle.truffle.api.profiles.InlinedConditionProfile isZero, com.oracle.truffle.api.profiles.InlinedExactClassProfile arrayTypeProfile) -
firstObjectViaEnumeration
public long firstObjectViaEnumeration(JSDynamicObject object, long length, boolean isArray, JSHasPropertyNode hasPropertyNode) -
firstObjectViaFullEnumeration
public long firstObjectViaFullEnumeration(JSDynamicObject object, long length, boolean isArray, JSHasPropertyNode hasPropertyNode) -
doObject
public long doObject(Object object, long length, boolean isArray, JSHasPropertyNode hasPropertyNode)
-