Class JSArrayLastElementIndexNode

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

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

    • JSArrayLastElementIndexNode

      protected JSArrayLastElementIndexNode(JSContext context)
  • Method Details

    • create

      public static JSArrayLastElementIndexNode create(JSContext context)
    • executeLong

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

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

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

      public long doWithoutHolesUncached(JSDynamicObject object, long length, boolean isArray)
    • doWithHolesCached

      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)
    • doWithHolesUncached

      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)
    • doObjectViaEnumeration

      public long doObjectViaEnumeration(JSDynamicObject object, long length, boolean isArray, JSHasPropertyNode hasPropertyNode)
    • doObjectViaFullEnumeration

      public long doObjectViaFullEnumeration(JSDynamicObject object, long length, boolean isArray, JSHasPropertyNode hasPropertyNode)
    • doObject

      public long doObject(Object object, long length, boolean isArray, JSHasPropertyNode hasPropertyNode)