public final class HolesObjectArray extends AbstractContiguousObjectArray
AbstractWritableArray.SetSupportedProfileAccessDynamicArray.DynamicArrayCacheScriptArray.DefaultIterator, ScriptArray.ProfileAccess, ScriptArray.ProfileHolder, ScriptArray.SetLengthProfileAccessSET_SUPPORTED_PROFILE_ACCESScache, 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, SET_LENGTH_PROFILE| Modifier and Type | Method and Description |
|---|---|
protected Object |
castNonNull(Object value) |
boolean |
containsHoles(com.oracle.truffle.api.object.DynamicObject object,
long index) |
static HolesObjectArray |
createHolesObjectArray() |
ScriptArray |
deleteElementImpl(com.oracle.truffle.api.object.DynamicObject object,
long index,
boolean strict) |
Object |
getInBoundsFast(com.oracle.truffle.api.object.DynamicObject object,
int index) |
boolean |
hasElement(com.oracle.truffle.api.object.DynamicObject object,
long index) |
protected void |
incrementHolesCount(com.oracle.truffle.api.object.DynamicObject object,
int offset) |
boolean |
isHoleFast(com.oracle.truffle.api.object.DynamicObject object,
int index) |
boolean |
isHolesType()
Returns true when the this array could have hole values in it.
|
static boolean |
isHoleValue(Object value) |
boolean |
isSupported(com.oracle.truffle.api.object.DynamicObject object,
long index) |
static HolesObjectArray |
makeHolesObjectArray(com.oracle.truffle.api.object.DynamicObject object,
int length,
Object[] array,
long indexOffset,
int arrayOffset,
int usedLength,
int holeCount,
int integrityLevel) |
long |
nextElementIndex(com.oracle.truffle.api.object.DynamicObject object,
long index0)
Returns the next index.
|
List<Object> |
ownPropertyKeys(com.oracle.truffle.api.object.DynamicObject object) |
int |
prepareInBounds(com.oracle.truffle.api.object.DynamicObject object,
int index,
ScriptArray.ProfileHolder profile) |
int |
prepareSupported(com.oracle.truffle.api.object.DynamicObject object,
int index,
ScriptArray.ProfileHolder profile) |
long |
previousElementIndex(com.oracle.truffle.api.object.DynamicObject object,
long index0)
Returns the previous index.
|
ScriptArray |
removeRangeImpl(com.oracle.truffle.api.object.DynamicObject object,
long start,
long end)
This function deletes all elements in the range from [start..end[.
|
void |
setInBoundsFast(com.oracle.truffle.api.object.DynamicObject object,
int index,
Object value) |
void |
setInBoundsFastHole(com.oracle.truffle.api.object.DynamicObject object,
int index,
Object value) |
void |
setInBoundsFastNonHole(com.oracle.truffle.api.object.DynamicObject object,
int index,
Object value) |
HolesObjectArray |
toHoles(com.oracle.truffle.api.object.DynamicObject object,
long index,
Object value) |
AbstractObjectArray |
toNonHoles(com.oracle.truffle.api.object.DynamicObject 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, toObjectclearUnusedArea, countHoles, createSetSupportedProfile, deleteElementHoles, getElement, getElementInBounds, getInBoundsFastDouble, getInBoundsFastInt, getUsedLength, isInBounds, isInBoundsFast, isSparse, isSupportedContiguous, isSupportedHoles, isSupportedZeroBased, length, lengthInt, nextElementIndexHoles, nextElementIndexZeroBased, prepareInBoundsContiguous, prepareInBoundsHoles, prepareInBoundsZeroBased, prepareSupportedContiguous, prepareSupportedHoles, prepareSupportedZeroBased, previousElementIndexHoles, removeRangeContiguous, removeRangeHoles, setArrayProperties, setLengthImpl, setLengthLessContiguous, setLengthLessZeroBased, toArray, toArrayZeroBased, toContiguous, toNonContiguous, toSparse, traceWriteValuearray, createCache, freeze, isExtensible, isFrozen, isLengthNotWritable, isSealed, preventExtensions, seal, setIntegrityLevel, setLengthNotWritable, toStringaddRange, asIterable, canDeleteElement, cast, createConstantArray, createConstantEmptyArray, createSetLengthProfile, deleteElement, isInstance, makeMultiRangeList, makeRangeList, nextPower, ownPropertyKeysContiguous, ownPropertyKeysHoles, removeRange, removeRange, setElement, setLength, setLength, toString, traceArrayTransition, traceWrite, valueIsBytepublic static HolesObjectArray makeHolesObjectArray(com.oracle.truffle.api.object.DynamicObject object, int length, Object[] array, long indexOffset, int arrayOffset, int usedLength, int holeCount, int integrityLevel)
public static HolesObjectArray createHolesObjectArray()
public void setInBoundsFast(com.oracle.truffle.api.object.DynamicObject object,
int index,
Object value)
setInBoundsFast in class AbstractContiguousObjectArraypublic boolean isHoleFast(com.oracle.truffle.api.object.DynamicObject object,
int index)
public void setInBoundsFastHole(com.oracle.truffle.api.object.DynamicObject object,
int index,
Object value)
public void setInBoundsFastNonHole(com.oracle.truffle.api.object.DynamicObject object,
int index,
Object value)
public boolean containsHoles(com.oracle.truffle.api.object.DynamicObject object,
long index)
containsHoles in class AbstractWritableArraypublic AbstractObjectArray toNonHoles(com.oracle.truffle.api.object.DynamicObject object, long index, Object value)
toNonHoles in class AbstractWritableArrayprotected void incrementHolesCount(com.oracle.truffle.api.object.DynamicObject object,
int offset)
incrementHolesCount in class AbstractWritableArraypublic int prepareInBounds(com.oracle.truffle.api.object.DynamicObject object,
int index,
ScriptArray.ProfileHolder profile)
prepareInBounds in class AbstractWritableArraypublic boolean isSupported(com.oracle.truffle.api.object.DynamicObject object,
long index)
isSupported in class AbstractWritableArraypublic int prepareSupported(com.oracle.truffle.api.object.DynamicObject object,
int index,
ScriptArray.ProfileHolder profile)
prepareSupported in class AbstractWritableArraypublic Object getInBoundsFast(com.oracle.truffle.api.object.DynamicObject object, int index)
getInBoundsFast in class AbstractObjectArraypublic HolesObjectArray toHoles(com.oracle.truffle.api.object.DynamicObject object, long index, Object value)
toHoles in class AbstractObjectArraypublic static boolean isHoleValue(Object value)
public long nextElementIndex(com.oracle.truffle.api.object.DynamicObject object,
long index0)
ScriptArraynextElementIndex in class AbstractWritableArraypublic long previousElementIndex(com.oracle.truffle.api.object.DynamicObject object,
long index0)
ScriptArraypreviousElementIndex in class AbstractWritableArraypublic boolean hasElement(com.oracle.truffle.api.object.DynamicObject object,
long index)
hasElement in class AbstractWritableArraypublic ScriptArray deleteElementImpl(com.oracle.truffle.api.object.DynamicObject object, long index, boolean strict)
deleteElementImpl in class AbstractObjectArraypublic boolean isHolesType()
ScriptArrayisHolesType in class ScriptArraypublic ScriptArray removeRangeImpl(com.oracle.truffle.api.object.DynamicObject 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(com.oracle.truffle.api.object.DynamicObject object)
ownPropertyKeys in class ScriptArray