public abstract class AbstractJSObjectArray 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 |
AbstractJSObjectArray(int integrityLevel,
DynamicArray.DynamicArrayCache cache) |
| Modifier and Type | Method and Description |
|---|---|
Object |
allocateArray(int length) |
protected JSDynamicObject |
castNonNull(JSDynamicObject value) |
protected static JSDynamicObject |
checkNonNull(JSDynamicObject 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 JSDynamicObject[] |
getArray(JSDynamicObject object) |
protected int |
getArrayCapacity(JSDynamicObject object) |
Object |
getInBoundsFast(JSDynamicObject object,
int index) |
abstract JSDynamicObject |
getInBoundsFastJSObject(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,
JSDynamicObject value,
com.oracle.truffle.api.nodes.Node node,
AbstractWritableArray.SetSupportedProfileAccess profile) |
abstract void |
setInBoundsFast(JSDynamicObject object,
int index,
JSDynamicObject value) |
void |
setSupported(JSDynamicObject object,
int index,
JSDynamicObject value,
com.oracle.truffle.api.nodes.Node node,
AbstractWritableArray.SetSupportedProfileAccess profile) |
AbstractWritableArray |
toDouble(JSDynamicObject object,
long index,
double value) |
abstract AbstractJSObjectArray |
toHoles(JSDynamicObject object,
long index,
Object value) |
abstract AbstractWritableArray |
toObject(JSDynamicObject object,
long index,
Object value) |
protected abstract AbstractJSObjectArray |
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 AbstractJSObjectArray(int integrityLevel,
DynamicArray.DynamicArrayCache cache)
public abstract void setInBoundsFast(JSDynamicObject object, int index, JSDynamicObject 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 JSDynamicObject[] getArray(JSDynamicObject object)
public abstract JSDynamicObject getInBoundsFastJSObject(JSDynamicObject object, int index)
public final void setInBounds(JSDynamicObject object, int index, JSDynamicObject value, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile)
public final void setSupported(JSDynamicObject object, int index, JSDynamicObject 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 AbstractJSObjectArray toHoles(JSDynamicObject object, long index, Object value)
toHoles in class AbstractWritableArraypublic abstract AbstractWritableArray toObject(JSDynamicObject object, long index, Object value)
toObject in class AbstractWritableArraypublic final AbstractWritableArray toDouble(JSDynamicObject object, long index, double value)
toDouble 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 AbstractJSObjectArray withIntegrityLevel(int newIntegrityLevel)
withIntegrityLevel in class AbstractWritableArrayprotected static JSDynamicObject checkNonNull(JSDynamicObject value)
protected JSDynamicObject castNonNull(JSDynamicObject value)