public final class HolesObjectArray extends AbstractContiguousObjectArray
AbstractWritableArray.SetSupportedProfileAccessDynamicArray.DynamicArrayCacheScriptArray.CreateWritableProfileAccess, ScriptArray.DefaultIterator, ScriptArray.SetLengthProfileAccesscache, 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 |
|---|---|
protected Object |
castNonNull(Object value) |
boolean |
containsHoles(JSDynamicObject object,
long index) |
static HolesObjectArray |
createHolesObjectArray() |
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(Object value) |
boolean |
isSupported(JSDynamicObject object,
long index) |
static HolesObjectArray |
makeHolesObjectArray(JSDynamicObject object,
int length,
Object[] 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,
Object value) |
void |
setInBoundsFastHole(JSDynamicObject object,
int index,
Object value) |
void |
setInBoundsFastNonHole(JSDynamicObject object,
int index,
Object value) |
HolesObjectArray |
toHoles(JSDynamicObject object,
long index,
Object value) |
AbstractObjectArray |
toNonHoles(JSDynamicObject object,
long index,
Object value) |
protected HolesObjectArray |
withIntegrityLevel(int newIntegrityLevel) |
addRangeImpl, firstElementIndex, getArrayOffset, getInBoundsFastObject, getIndexOffset, hasHoles, lastElementIndex, prepareInBoundsFast, setArrayOffset, setIndexOffset, setLengthLessallocateArray, checkNonNull, cloneArray, fillHoles, getArray, getArrayCapacity, isHolePrepared, moveRangePrepared, resizeArray, setElementImpl, setHoleValue, setInBounds, setSupported, toDouble, toObjectassertHoleCount, checkFillHoles, clearUnusedArea, countHoles, deleteElementHoles, getElement, getElementInBounds, getInBoundsFastDouble, getInBoundsFastInt, 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 HolesObjectArray makeHolesObjectArray(JSDynamicObject object, int length, Object[] array, long indexOffset, int arrayOffset, int usedLength, int holeCount, int integrityLevel)
public static HolesObjectArray createHolesObjectArray()
public void setInBoundsFast(JSDynamicObject object, int index, Object value)
setInBoundsFast in class AbstractContiguousObjectArraypublic boolean isHoleFast(JSDynamicObject object, int index)
public void setInBoundsFastHole(JSDynamicObject object, int index, Object value)
public void setInBoundsFastNonHole(JSDynamicObject object, int index, Object value)
public boolean containsHoles(JSDynamicObject object, long index)
containsHoles in class AbstractWritableArraypublic AbstractObjectArray toNonHoles(JSDynamicObject object, long index, Object value)
toNonHoles 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 Object getInBoundsFast(JSDynamicObject object, int index)
getInBoundsFast in class AbstractObjectArraypublic HolesObjectArray toHoles(JSDynamicObject object, long index, Object value)
toHoles in class AbstractObjectArraypublic static boolean isHoleValue(Object 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 AbstractObjectArraypublic boolean isHolesType()
ScriptArrayisHolesType in class ScriptArraypublic ScriptArray removeRangeImpl(JSDynamicObject object, long start, long end)
ScriptArrayremoveRangeImpl in class ScriptArrayprotected Object castNonNull(Object value)
castNonNull in class AbstractObjectArrayprotected HolesObjectArray withIntegrityLevel(int newIntegrityLevel)
withIntegrityLevel in class AbstractObjectArraypublic List<Object> ownPropertyKeys(JSDynamicObject object)
ownPropertyKeys in class ScriptArray