Class JSArrayPreviousElementIndexNode

java.lang.Object
com.oracle.truffle.api.nodes.Node
All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface, Cloneable

public abstract class JSArrayPreviousElementIndexNode extends JSArrayElementIndexNode
Provides the functionality of ScriptArray.previousElementIndex but additionally adheres to the prototype chain. It is implemented in a specialized and profiled fashion.
  • Constructor Details

    • JSArrayPreviousElementIndexNode

      protected JSArrayPreviousElementIndexNode(JSContext context)
  • Method Details

    • create

      public static JSArrayPreviousElementIndexNode create(JSContext context)
    • executeLong

      public final long executeLong(Object object, long currentIndex)
    • executeLong

      public abstract long executeLong(Object object, long currentIndex, boolean isArray)
    • doWithoutHolesCached

      public long doWithoutHolesCached(JSDynamicObject object, long currentIndex, boolean isArray, ScriptArray cachedArrayType)
    • doWithoutHolesUncached

      public long doWithoutHolesUncached(JSDynamicObject object, long currentIndex, boolean isArray)
    • 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)