public abstract class AbstractObjectArray extends AbstractWritableArray
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 | 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(JSDynamicObject object) |
ScriptArray |
deleteElementImpl(JSDynamicObject object,
long index,
boolean strict) |
protected void |
fillHoles(JSDynamicObject object,
int internalIndex,
int grown,
com.oracle.truffle.api.nodes.Node node,
AbstractWritableArray.SetSupportedProfileAccess profile) |
protected static Object[] |
getArray(JSDynamicObject object) |
protected int |
getArrayCapacity(JSDynamicObject object) |
Object |
getInBoundsFast(JSDynamicObject object,
int index) |
abstract Object |
getInBoundsFastObject(JSDynamicObject object,
int index) |
protected boolean |
isHolePrepared(JSDynamicObject object,
int preparedIndex)
Returns true when the array contains a hole at that index.
|
protected void |
moveRangePrepared(JSDynamicObject object,
int src,
int dst,
int len)
Move
len elements from src to dst. |
protected void |
resizeArray(JSDynamicObject object,
int newCapacity,
int oldCapacity,
int offset) |
ScriptArray |
setElementImpl(JSDynamicObject object,
long index,
Object value,
boolean strict) |
protected void |
setHoleValue(JSDynamicObject object,
int preparedIndex) |
void |
setInBounds(JSDynamicObject object,
int index,
Object value,
com.oracle.truffle.api.nodes.Node node,
AbstractWritableArray.SetSupportedProfileAccess profile) |
abstract void |
setInBoundsFast(JSDynamicObject object,
int index,
Object value) |
void |
setSupported(JSDynamicObject object,
int index,
Object value,
com.oracle.truffle.api.nodes.Node node,
AbstractWritableArray.SetSupportedProfileAccess profile) |
AbstractWritableArray |
toDouble(JSDynamicObject object,
long index,
double value) |
abstract AbstractObjectArray |
toHoles(JSDynamicObject object,
long index,
Object value) |
AbstractWritableArray |
toObject(JSDynamicObject object,
long index,
Object value) |
protected abstract AbstractObjectArray |
withIntegrityLevel(int newIntegrityLevel) |
assertHoleCount, checkFillHoles, clearUnusedArea, containsHoles, countHoles, 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, toContiguous, toNonContiguous, toNonHoles, toSparse, traceWriteValue, unusedElementsAreHolescreateCache, freeze, isExtensible, isFrozen, isLengthNotWritable, isSealed, maybePreinitializeCache, preventExtensions, seal, setIntegrityLevel, setLengthNotWritable, toStringaddRange, addRangeImpl, asIterable, canDeleteElement, cast, createConstantArray, createConstantEmptyArray, 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(JSDynamicObject object, int index, Object value)
public final ScriptArray setElementImpl(JSDynamicObject object, long index, Object value, boolean strict)
setElementImpl in class ScriptArraypublic Object getInBoundsFast(JSDynamicObject object, int index)
getInBoundsFast in class AbstractWritableArrayprotected static Object[] getArray(JSDynamicObject object)
public abstract Object getInBoundsFastObject(JSDynamicObject object, int index)
public final void setInBounds(JSDynamicObject object, int index, Object value, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile)
public final void setSupported(JSDynamicObject object, int index, Object value, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile)
protected final void setHoleValue(JSDynamicObject object, int preparedIndex)
setHoleValue in class AbstractWritableArrayprotected final void fillHoles(JSDynamicObject object, int internalIndex, int grown, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile)
fillHoles in class AbstractWritableArrayprotected final boolean isHolePrepared(JSDynamicObject object, int preparedIndex)
AbstractWritableArrayisHolePrepared in class AbstractWritableArrayprotected final int getArrayCapacity(JSDynamicObject object)
getArrayCapacity in class AbstractWritableArrayprotected final void resizeArray(JSDynamicObject object, int newCapacity, int oldCapacity, int offset)
resizeArray in class AbstractWritableArraypublic abstract AbstractObjectArray toHoles(JSDynamicObject object, long index, Object value)
toHoles in class AbstractWritableArraypublic final AbstractWritableArray toDouble(JSDynamicObject object, long index, double value)
toDouble in class AbstractWritableArraypublic final AbstractWritableArray toObject(JSDynamicObject object, long index, Object value)
toObject in class AbstractWritableArraypublic ScriptArray deleteElementImpl(JSDynamicObject object, long index, boolean strict)
deleteElementImpl in class ScriptArrayprotected final void moveRangePrepared(JSDynamicObject 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(JSDynamicObject object)
cloneArray in class DynamicArrayprotected abstract AbstractObjectArray withIntegrityLevel(int newIntegrityLevel)
withIntegrityLevel in class AbstractWritableArray