public abstract class AbstractContiguousObjectArray extends AbstractObjectArray
AbstractWritableArray.SetSupportedProfileAccess
DynamicArray.DynamicArrayCache
ScriptArray.CreateWritableProfileAccess, ScriptArray.DefaultIterator, ScriptArray.SetLengthProfileAccess
cache, 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_MASK
EMPTY_OBJECT_ARRAY
Modifier | Constructor and Description |
---|---|
protected |
AbstractContiguousObjectArray(int integrityLevel,
DynamicArray.DynamicArrayCache cache) |
Modifier and Type | Method and Description |
---|---|
ScriptArray |
addRangeImpl(JSDynamicObject object,
long offset,
int size)
This method grows the array by adding more elements of a given size.
|
long |
firstElementIndex(JSDynamicObject object)
First element index (inclusive).
|
protected int |
getArrayOffset(JSDynamicObject object)
The arrayOffset (int) is the first element in internal array.
|
Object |
getInBoundsFastObject(JSDynamicObject object,
int index) |
protected long |
getIndexOffset(JSDynamicObject object)
The indexOffset (int) is the first element is in array[indexOffset + arrayOffset].
|
boolean |
hasHoles(JSDynamicObject object) |
long |
lastElementIndex(JSDynamicObject object)
Last element index (inclusive).
|
protected int |
prepareInBoundsFast(JSDynamicObject object,
long index) |
protected void |
setArrayOffset(JSDynamicObject object,
int arrayOffset) |
void |
setInBoundsFast(JSDynamicObject object,
int index,
Object value) |
protected void |
setIndexOffset(JSDynamicObject object,
long indexOffset) |
protected void |
setLengthLess(JSDynamicObject object,
long length,
com.oracle.truffle.api.nodes.Node node,
ScriptArray.SetLengthProfileAccess profile) |
allocateArray, castNonNull, checkNonNull, cloneArray, deleteElementImpl, fillHoles, getArray, getArrayCapacity, getInBoundsFast, isHolePrepared, moveRangePrepared, resizeArray, setElementImpl, setHoleValue, setInBounds, setSupported, toDouble, toHoles, toObject, withIntegrityLevel
assertHoleCount, checkFillHoles, clearUnusedArea, containsHoles, countHoles, deleteElementHoles, getElement, getElementInBounds, getInBoundsFastDouble, getInBoundsFastInt, getUsedLength, hasElement, incrementHolesCount, isInBounds, isInBoundsFast, isSparse, isSupported, isSupportedContiguous, isSupportedHoles, isSupportedZeroBased, length, lengthInt, nextElementIndex, nextElementIndexHoles, nextElementIndexZeroBased, prepareInBounds, prepareInBoundsContiguous, prepareInBoundsHoles, prepareInBoundsZeroBased, prepareSupported, prepareSupportedContiguous, prepareSupportedHoles, prepareSupportedZeroBased, previousElementIndex, previousElementIndexHoles, removeRangeContiguous, removeRangeHoles, setArrayProperties, setArrayProperties, setLengthImpl, setLengthLessContiguous, setLengthLessZeroBased, shiftRangeImpl, toContiguous, toNonContiguous, toNonHoles, toSparse, traceWriteValue, unusedElementsAreHoles
createCache, freeze, isExtensible, isFrozen, isLengthNotWritable, isSealed, maybePreinitializeCache, preventExtensions, seal, setIntegrityLevel, setLengthNotWritable, toString
addRange, asIterable, canDeleteElement, cast, createConstantArray, createConstantEmptyArray, deleteElement, isHolesType, isInstance, makeMultiRangeList, makeRangeList, nextPower, ownPropertyKeys, ownPropertyKeysContiguous, ownPropertyKeysHoles, removeRange, removeRange, removeRangeImpl, setElement, setLength, setLength, shiftRange, toArray, toString, traceArrayTransition, traceWrite, valueIsByte
protected AbstractContiguousObjectArray(int integrityLevel, DynamicArray.DynamicArrayCache cache)
public Object getInBoundsFastObject(JSDynamicObject object, int index)
getInBoundsFastObject
in class AbstractObjectArray
public void setInBoundsFast(JSDynamicObject object, int index, Object value)
setInBoundsFast
in class AbstractObjectArray
protected final void setLengthLess(JSDynamicObject object, long length, com.oracle.truffle.api.nodes.Node node, ScriptArray.SetLengthProfileAccess profile)
setLengthLess
in class AbstractWritableArray
protected final int prepareInBoundsFast(JSDynamicObject object, long index)
prepareInBoundsFast
in class AbstractWritableArray
protected final void setArrayOffset(JSDynamicObject object, int arrayOffset)
setArrayOffset
in class AbstractWritableArray
protected final int getArrayOffset(JSDynamicObject object)
AbstractWritableArray
getArrayOffset
in class AbstractWritableArray
protected final void setIndexOffset(JSDynamicObject object, long indexOffset)
setIndexOffset
in class AbstractWritableArray
protected final long getIndexOffset(JSDynamicObject object)
AbstractWritableArray
getIndexOffset
in class AbstractWritableArray
public final long firstElementIndex(JSDynamicObject object)
ScriptArray
firstElementIndex
in class ScriptArray
public final long lastElementIndex(JSDynamicObject object)
ScriptArray
lastElementIndex
in class ScriptArray
public boolean hasHoles(JSDynamicObject object)
hasHoles
in class ScriptArray
public ScriptArray addRangeImpl(JSDynamicObject object, long offset, int size)
ScriptArray
addRangeImpl
in class ScriptArray
offset
- starting offset positionsize
- size of the inserted empty arrayScriptArray
instance with the new size