Class JSArrayPreviousElementIndexNode
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.JSArrayPreviousElementIndexNode
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,Cloneable
Provides the functionality of ScriptArray.previousElementIndex 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 TypeMethodDescriptionlongdoWithoutHolesCached(JSDynamicObject object, long currentIndex, boolean isArray, ScriptArray cachedArrayType) longdoWithoutHolesUncached(JSDynamicObject object, long currentIndex, boolean isArray) final longexecuteLong(Object object, long currentIndex) abstract longexecuteLong(Object object, long currentIndex, boolean isArray) longpreviousObjectViaEnumeration(JSDynamicObject object, long currentIndex, boolean isArray, JSHasPropertyNode hasPropertyNode) longpreviousObjectViaFullEnumeration(JSDynamicObject object, long currentIndex, boolean isArray, JSHasPropertyNode hasPropertyNode) longpreviousObjectViaIteration(Object object, long currentIndex, boolean isArray, JSHasPropertyNode hasPropertyNode) longpreviousWithHolesCached(JSDynamicObject object, long currentIndex, boolean isArray, com.oracle.truffle.api.nodes.Node node, ScriptArray cachedArrayType, JSArrayPreviousElementIndexNode previousElementIndexNode, com.oracle.truffle.api.profiles.InlinedConditionProfile isMinusOne) longpreviousWithHolesUncached(JSDynamicObject object, long currentIndex, boolean isArray, JSArrayPreviousElementIndexNode previousElementIndexNode, com.oracle.truffle.api.profiles.InlinedConditionProfile isMinusOne, 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
-
JSArrayPreviousElementIndexNode
-
-
Method Details
-
create
-
executeLong
-
executeLong
-
doWithoutHolesCached
public long doWithoutHolesCached(JSDynamicObject object, long currentIndex, boolean isArray, ScriptArray cachedArrayType) -
doWithoutHolesUncached
-
previousWithHolesCached
public long previousWithHolesCached(JSDynamicObject object, long currentIndex, boolean isArray, com.oracle.truffle.api.nodes.Node node, ScriptArray cachedArrayType, JSArrayPreviousElementIndexNode previousElementIndexNode, com.oracle.truffle.api.profiles.InlinedConditionProfile isMinusOne) -
previousWithHolesUncached
public long previousWithHolesUncached(JSDynamicObject object, long currentIndex, boolean isArray, JSArrayPreviousElementIndexNode previousElementIndexNode, com.oracle.truffle.api.profiles.InlinedConditionProfile isMinusOne, com.oracle.truffle.api.profiles.InlinedExactClassProfile arrayTypeProfile) -
previousObjectViaEnumeration
public long previousObjectViaEnumeration(JSDynamicObject object, long currentIndex, boolean isArray, JSHasPropertyNode hasPropertyNode) -
previousObjectViaFullEnumeration
public long previousObjectViaFullEnumeration(JSDynamicObject object, long currentIndex, boolean isArray, JSHasPropertyNode hasPropertyNode) -
previousObjectViaIteration
public long previousObjectViaIteration(Object object, long currentIndex, boolean isArray, JSHasPropertyNode hasPropertyNode)
-