public abstract class AbstractObjectArray extends AbstractWritableArray
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 | Constructor and Description |
|---|---|
protected |
AbstractObjectArray(int integrityLevel,
DynamicArray.DynamicArrayCache cache) |
| Modifier and Type | Method and Description |
|---|---|
Object |
allocateArray(int length) |
protected Object |
castNonNull(Object value) |
protected static Object |
checkNonNull(Object value) |
Object |
cloneArray(com.oracle.truffle.api.object.DynamicObject object) |
ScriptArray |
deleteElementImpl(com.oracle.truffle.api.object.DynamicObject object,
long index,
boolean strict) |
protected void |
fillHoles(com.oracle.truffle.api.object.DynamicObject object,
int internalIndex,
int grown,
ScriptArray.ProfileHolder profile) |
protected static Object[] |
getArray(com.oracle.truffle.api.object.DynamicObject object) |
protected int |
getArrayCapacity(com.oracle.truffle.api.object.DynamicObject object) |
Object |
getInBoundsFast(com.oracle.truffle.api.object.DynamicObject object,
int index) |
abstract Object |
getInBoundsFastObject(com.oracle.truffle.api.object.DynamicObject object,
int index) |
protected boolean |
isHolePrepared(com.oracle.truffle.api.object.DynamicObject object,
int preparedIndex)
Returns true when the array contains a hole at that index.
|
protected void |
moveRangePrepared(com.oracle.truffle.api.object.DynamicObject object,
int src,
int dst,
int len)
Move
len elements from src to dst. |
protected void |
resizeArray(com.oracle.truffle.api.object.DynamicObject object,
int newCapacity,
int oldCapacity,
int offset) |
ScriptArray |
setElementImpl(com.oracle.truffle.api.object.DynamicObject object,
long index,
Object value,
boolean strict) |
protected void |
setHoleValue(com.oracle.truffle.api.object.DynamicObject object,
int preparedIndex) |
void |
setInBounds(com.oracle.truffle.api.object.DynamicObject object,
int index,
Object value,
ScriptArray.ProfileHolder profile) |
abstract void |
setInBoundsFast(com.oracle.truffle.api.object.DynamicObject object,
int index,
Object value) |
void |
setSupported(com.oracle.truffle.api.object.DynamicObject object,
int index,
Object value) |
AbstractWritableArray |
toDouble(com.oracle.truffle.api.object.DynamicObject object,
long index,
double value) |
abstract AbstractObjectArray |
toHoles(com.oracle.truffle.api.object.DynamicObject object,
long index,
Object value) |
AbstractWritableArray |
toObject(com.oracle.truffle.api.object.DynamicObject object,
long index,
Object value) |
protected abstract AbstractObjectArray |
withIntegrityLevel(int newIntegrityLevel) |
assertHoleCount, checkFillHoles, clearUnusedArea, containsHoles, countHoles, createSetSupportedProfile, deleteElementHoles, getArrayOffset, getElement, getElementInBounds, getInBoundsFastDouble, getInBoundsFastInt, getIndexOffset, getUsedLength, hasElement, incrementHolesCount, isInBounds, isInBoundsFast, isSparse, isSupported, isSupportedContiguous, isSupportedHoles, isSupportedZeroBased, length, lengthInt, nextElementIndex, nextElementIndexHoles, nextElementIndexZeroBased, prepareInBounds, prepareInBoundsContiguous, prepareInBoundsFast, prepareInBoundsHoles, prepareInBoundsZeroBased, prepareSupported, prepareSupportedContiguous, prepareSupportedHoles, prepareSupportedZeroBased, previousElementIndex, previousElementIndexHoles, removeRangeContiguous, removeRangeHoles, setArrayOffset, setArrayProperties, setArrayProperties, setIndexOffset, setLengthImpl, setLengthLess, setLengthLessContiguous, setLengthLessZeroBased, shiftRangeImpl, toArrayZeroBased, toContiguous, toNonContiguous, toNonHoles, toSparse, traceWriteValue, unusedElementsAreHolesarray, createCache, freeze, isExtensible, isFrozen, isLengthNotWritable, isSealed, preventExtensions, seal, setIntegrityLevel, setLengthNotWritable, toStringaddRange, addRangeImpl, asIterable, canDeleteElement, cast, createConstantArray, createConstantEmptyArray, createSetLengthProfile, deleteElement, firstElementIndex, hasHoles, isHolesType, isInstance, lastElementIndex, makeMultiRangeList, makeRangeList, nextPower, ownPropertyKeys, ownPropertyKeysContiguous, ownPropertyKeysHoles, removeRange, removeRange, removeRangeImpl, setElement, setLength, setLength, shiftRange, toArray, toString, traceArrayTransition, traceWrite, valueIsByteprotected AbstractObjectArray(int integrityLevel,
DynamicArray.DynamicArrayCache cache)
public abstract void setInBoundsFast(com.oracle.truffle.api.object.DynamicObject object,
int index,
Object value)
public final ScriptArray setElementImpl(com.oracle.truffle.api.object.DynamicObject object, long index, Object value, boolean strict)
setElementImpl in class ScriptArraypublic Object getInBoundsFast(com.oracle.truffle.api.object.DynamicObject object, int index)
getInBoundsFast in class AbstractWritableArrayprotected static Object[] getArray(com.oracle.truffle.api.object.DynamicObject object)
public abstract Object getInBoundsFastObject(com.oracle.truffle.api.object.DynamicObject object, int index)
public final void setInBounds(com.oracle.truffle.api.object.DynamicObject object,
int index,
Object value,
ScriptArray.ProfileHolder profile)
public final void setSupported(com.oracle.truffle.api.object.DynamicObject object,
int index,
Object value)
protected final void setHoleValue(com.oracle.truffle.api.object.DynamicObject object,
int preparedIndex)
setHoleValue in class AbstractWritableArrayprotected final void fillHoles(com.oracle.truffle.api.object.DynamicObject object,
int internalIndex,
int grown,
ScriptArray.ProfileHolder profile)
fillHoles in class AbstractWritableArrayprotected final boolean isHolePrepared(com.oracle.truffle.api.object.DynamicObject object,
int preparedIndex)
AbstractWritableArrayisHolePrepared in class AbstractWritableArrayprotected final int getArrayCapacity(com.oracle.truffle.api.object.DynamicObject object)
getArrayCapacity in class AbstractWritableArrayprotected final void resizeArray(com.oracle.truffle.api.object.DynamicObject object,
int newCapacity,
int oldCapacity,
int offset)
resizeArray in class AbstractWritableArraypublic abstract AbstractObjectArray toHoles(com.oracle.truffle.api.object.DynamicObject object, long index, Object value)
toHoles in class AbstractWritableArraypublic final AbstractWritableArray toDouble(com.oracle.truffle.api.object.DynamicObject object, long index, double value)
toDouble in class AbstractWritableArraypublic final AbstractWritableArray toObject(com.oracle.truffle.api.object.DynamicObject object, long index, Object value)
toObject in class AbstractWritableArraypublic ScriptArray deleteElementImpl(com.oracle.truffle.api.object.DynamicObject object, long index, boolean strict)
deleteElementImpl in class ScriptArrayprotected final void moveRangePrepared(com.oracle.truffle.api.object.DynamicObject object,
int src,
int dst,
int len)
AbstractWritableArraylen elements from src to dst.moveRangePrepared in class AbstractWritableArraypublic final Object allocateArray(int length)
allocateArray in class AbstractWritableArraypublic Object cloneArray(com.oracle.truffle.api.object.DynamicObject object)
cloneArray in class DynamicArrayprotected abstract AbstractObjectArray withIntegrityLevel(int newIntegrityLevel)
withIntegrityLevel in class AbstractWritableArray