Class JSArrayNextElementIndexNode
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.JSArrayNextElementIndexNode
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,Cloneable
Provides the functionality of ScriptArray.nextElementIndex 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 com.oracle.truffle.js.nodes.array.JSArrayElementIndexNode
context, MAX_CACHED_ARRAY_TYPES -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic JSArrayNextElementIndexNodelongdoWithoutHolesCached(JSDynamicObject object, long currentIndex, long length, boolean isArray, ScriptArray cachedArrayType) longdoWithoutHolesUncached(JSDynamicObject object, long currentIndex, long length, boolean isArray) final longexecuteLong(Object object, long currentIndex, long length) abstract longexecuteLong(Object object, long currentIndex, long length, boolean isArray) longnextObjectViaEnumeration(JSDynamicObject object, long currentIndex, long length, boolean isArray, JSHasPropertyNode hasPropertyNode) longnextObjectViaFullEnumeration(JSDynamicObject object, long currentIndex, long length, boolean isArray, JSHasPropertyNode hasPropertyNode) longnextObjectViaPolling(Object object, long currentIndex, long length, boolean isArray, JSHasPropertyNode hasPropertyNode) longnextWithHolesCached(JSDynamicObject object, long currentIndex, long length, boolean isArray, ScriptArray cachedArrayType, com.oracle.truffle.api.nodes.Node node, JSArrayNextElementIndexNode nextElementIndexNode, com.oracle.truffle.api.profiles.InlinedConditionProfile isPlusOne) longnextWithHolesUncached(JSDynamicObject object, long currentIndex, long length, boolean isArray, JSArrayNextElementIndexNode nextElementIndexNode, com.oracle.truffle.api.profiles.InlinedConditionProfile isPlusOne, com.oracle.truffle.api.profiles.InlinedExactClassProfile arrayTypeProfile) Methods inherited from class com.oracle.truffle.js.nodes.array.JSArrayElementIndexNode
getArrayType, getArrayTypeIfArray, hasHoles, hasPrototypeElements, isArray, isSuitableForEnumBasedProcessing, isSuitableForEnumBasedProcessingUsingOwnKeys, isSupportedArrayMethods 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
-
Constructor Details
-
JSArrayNextElementIndexNode
-
-
Method Details
-
create
-
executeLong
-
executeLong
-
doWithoutHolesCached
public long doWithoutHolesCached(JSDynamicObject object, long currentIndex, long length, boolean isArray, ScriptArray cachedArrayType) -
doWithoutHolesUncached
public long doWithoutHolesUncached(JSDynamicObject object, long currentIndex, long length, boolean isArray) -
nextWithHolesCached
public long nextWithHolesCached(JSDynamicObject object, long currentIndex, long length, boolean isArray, ScriptArray cachedArrayType, com.oracle.truffle.api.nodes.Node node, JSArrayNextElementIndexNode nextElementIndexNode, com.oracle.truffle.api.profiles.InlinedConditionProfile isPlusOne) -
nextWithHolesUncached
public long nextWithHolesUncached(JSDynamicObject object, long currentIndex, long length, boolean isArray, JSArrayNextElementIndexNode nextElementIndexNode, com.oracle.truffle.api.profiles.InlinedConditionProfile isPlusOne, com.oracle.truffle.api.profiles.InlinedExactClassProfile arrayTypeProfile) -
nextObjectViaEnumeration
public long nextObjectViaEnumeration(JSDynamicObject object, long currentIndex, long length, boolean isArray, JSHasPropertyNode hasPropertyNode) -
nextObjectViaFullEnumeration
public long nextObjectViaFullEnumeration(JSDynamicObject object, long currentIndex, long length, boolean isArray, JSHasPropertyNode hasPropertyNode) -
nextObjectViaPolling
public long nextObjectViaPolling(Object object, long currentIndex, long length, boolean isArray, JSHasPropertyNode hasPropertyNode)
-