public final class HolesIntArray extends AbstractContiguousIntArray
AbstractWritableArray.SetSupportedProfileAccessDynamicArray.DynamicArrayCacheScriptArray.CreateWritableProfileAccess, ScriptArray.DefaultIterator, ScriptArray.SetLengthProfileAccess| Modifier and Type | Field and Description |
|---|---|
static int |
HOLE_VALUE |
cache, INTEGRITY_LEVEL_FROZEN, INTEGRITY_LEVEL_FROZEN_LENGTH_READONLY, INTEGRITY_LEVEL_MASK, INTEGRITY_LEVEL_NONE, INTEGRITY_LEVEL_NONE_LENGTH_READONLY, INTEGRITY_LEVEL_NOT_EXTENSIBLE, INTEGRITY_LEVEL_NOT_EXTENSIBLE_LENGTH_READONLY, INTEGRITY_LEVEL_SEALED, INTEGRITY_LEVEL_SEALED_LENGTH_READONLY, INTEGRITY_LEVELS, integrityLevel, LENGTH_NOT_WRITABLE, LENGTH_WRITABLE_MASKEMPTY_OBJECT_ARRAY| Modifier and Type | Method and Description |
|---|---|
boolean |
containsHoles(JSDynamicObject object,
long index) |
ScriptArray |
deleteElementImpl(JSDynamicObject object,
long index,
boolean strict) |
Object |
getInBoundsFast(JSDynamicObject object,
int index) |
boolean |
hasElement(JSDynamicObject object,
long index) |
boolean |
isHoleFast(JSDynamicObject object,
int index) |
boolean |
isHolesType()
Returns true when the this array could have hole values in it.
|
static boolean |
isHoleValue(int value) |
boolean |
isSupported(JSDynamicObject object,
long index) |
static HolesIntArray |
makeHolesIntArray(JSDynamicObject object,
int length,
int[] array,
long indexOffset,
int arrayOffset,
int usedLength,
int holeCount,
int integrityLevel) |
long |
nextElementIndex(JSDynamicObject object,
long index0)
Returns the next index.
|
List<Object> |
ownPropertyKeys(JSDynamicObject object) |
int |
prepareInBounds(JSDynamicObject object,
int index,
com.oracle.truffle.api.nodes.Node node,
AbstractWritableArray.SetSupportedProfileAccess profile) |
int |
prepareSupported(JSDynamicObject object,
int index,
com.oracle.truffle.api.nodes.Node node,
AbstractWritableArray.SetSupportedProfileAccess profile) |
long |
previousElementIndex(JSDynamicObject object,
long index0)
Returns the previous index.
|
ScriptArray |
removeRangeImpl(JSDynamicObject object,
long start,
long end)
This function deletes all elements in the range from [start..end[.
|
void |
setInBoundsFast(JSDynamicObject object,
int index,
int value) |
void |
setInBoundsFastHole(JSDynamicObject object,
int index,
int value) |
void |
setInBoundsFastNonHole(JSDynamicObject object,
int index,
int value) |
AbstractWritableArray |
toDouble(JSDynamicObject object,
long index,
double value) |
HolesIntArray |
toHoles(JSDynamicObject object,
long index,
Object value) |
AbstractIntArray |
toNonHoles(JSDynamicObject object,
long index,
Object value) |
AbstractWritableArray |
toObject(JSDynamicObject object,
long index,
Object value) |
protected HolesObjectArray |
toObjectHoles(JSDynamicObject object) |
protected HolesIntArray |
withIntegrityLevel(int newIntegrityLevel) |
addRangeImpl, firstElementIndex, getArrayOffset, getInBoundsFastInt, getIndexOffset, hasHoles, lastElementIndex, prepareInBoundsFast, setArrayOffset, setIndexOffset, setLengthLessallocateArray, cloneArray, containsHoleValue, convertToObject, getArray, getArrayCapacity, isHolePrepared, moveRangePrepared, resizeArray, setElementImpl, setHoleValue, setInBounds, setSupportedassertHoleCount, checkFillHoles, clearUnusedArea, countHoles, deleteElementHoles, fillHoles, getElement, getElementInBounds, getInBoundsFastDouble, getUsedLength, incrementHolesCount, isInBounds, isInBoundsFast, isSparse, isSupportedContiguous, isSupportedHoles, isSupportedZeroBased, length, lengthInt, nextElementIndexHoles, nextElementIndexZeroBased, prepareInBoundsContiguous, prepareInBoundsHoles, prepareInBoundsZeroBased, prepareSupportedContiguous, prepareSupportedHoles, prepareSupportedZeroBased, previousElementIndexHoles, removeRangeContiguous, removeRangeHoles, setArrayProperties, setArrayProperties, setLengthImpl, setLengthLessContiguous, setLengthLessZeroBased, shiftRangeImpl, toContiguous, toNonContiguous, toSparse, traceWriteValue, unusedElementsAreHolescreateCache, freeze, isExtensible, isFrozen, isLengthNotWritable, isSealed, maybePreinitializeCache, preventExtensions, seal, setIntegrityLevel, setLengthNotWritable, toStringaddRange, asIterable, canDeleteElement, cast, createConstantArray, createConstantEmptyArray, deleteElement, isInstance, makeMultiRangeList, makeRangeList, nextPower, ownPropertyKeysContiguous, ownPropertyKeysHoles, removeRange, removeRange, setElement, setLength, setLength, shiftRange, toArray, toString, traceArrayTransition, traceWrite, valueIsBytepublic static final int HOLE_VALUE
public static HolesIntArray makeHolesIntArray(JSDynamicObject object, int length, int[] array, long indexOffset, int arrayOffset, int usedLength, int holeCount, int integrityLevel)
public void setInBoundsFast(JSDynamicObject object, int index, int value)
setInBoundsFast in class AbstractContiguousIntArraypublic boolean isHoleFast(JSDynamicObject object, int index)
public void setInBoundsFastHole(JSDynamicObject object, int index, int value)
public void setInBoundsFastNonHole(JSDynamicObject object, int index, int value)
public boolean containsHoles(JSDynamicObject object, long index)
containsHoles in class AbstractWritableArraypublic int prepareInBounds(JSDynamicObject object, int index, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile)
prepareInBounds in class AbstractWritableArraypublic boolean isSupported(JSDynamicObject object, long index)
isSupported in class AbstractWritableArraypublic int prepareSupported(JSDynamicObject object, int index, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile)
prepareSupported in class AbstractWritableArraypublic AbstractIntArray toNonHoles(JSDynamicObject object, long index, Object value)
toNonHoles in class AbstractWritableArraypublic Object getInBoundsFast(JSDynamicObject object, int index)
getInBoundsFast in class AbstractIntArraypublic HolesIntArray toHoles(JSDynamicObject object, long index, Object value)
toHoles in class AbstractIntArraypublic AbstractWritableArray toDouble(JSDynamicObject object, long index, double value)
toDouble in class AbstractWritableArraypublic AbstractWritableArray toObject(JSDynamicObject object, long index, Object value)
toObject in class AbstractWritableArraypublic static boolean isHoleValue(int value)
public long nextElementIndex(JSDynamicObject object, long index0)
ScriptArraynextElementIndex in class AbstractWritableArraypublic long previousElementIndex(JSDynamicObject object, long index0)
ScriptArraypreviousElementIndex in class AbstractWritableArraypublic boolean hasElement(JSDynamicObject object, long index)
hasElement in class AbstractWritableArraypublic ScriptArray deleteElementImpl(JSDynamicObject object, long index, boolean strict)
deleteElementImpl in class AbstractIntArrayprotected HolesObjectArray toObjectHoles(JSDynamicObject object)
toObjectHoles in class AbstractIntArraypublic boolean isHolesType()
ScriptArrayisHolesType in class ScriptArraypublic ScriptArray removeRangeImpl(JSDynamicObject object, long start, long end)
ScriptArrayremoveRangeImpl in class ScriptArrayprotected HolesIntArray withIntegrityLevel(int newIntegrityLevel)
withIntegrityLevel in class AbstractIntArraypublic List<Object> ownPropertyKeys(JSDynamicObject object)
ownPropertyKeys in class ScriptArray