public final class ZeroBasedJSObjectArray extends AbstractJSObjectArray
AbstractWritableArray.SetSupportedProfileAccess
DynamicArray.DynamicArrayCache
ScriptArray.DefaultIterator, ScriptArray.ProfileAccess, ScriptArray.ProfileHolder, ScriptArray.SetLengthProfileAccess
SET_SUPPORTED_PROFILE_ACCESS
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, SET_LENGTH_PROFILE
Modifier and Type | Method and Description |
---|---|
ScriptArray |
addRangeImpl(com.oracle.truffle.api.object.DynamicObject object,
long offset,
int size)
This method grows the array by adding more elements of a given size.
|
static ZeroBasedJSObjectArray |
createZeroBasedJSObjectArray() |
long |
firstElementIndex(com.oracle.truffle.api.object.DynamicObject object)
First element index (inclusive).
|
com.oracle.truffle.api.object.DynamicObject |
getInBoundsFastJSObject(com.oracle.truffle.api.object.DynamicObject object,
int index) |
boolean |
hasHoles(com.oracle.truffle.api.object.DynamicObject object) |
boolean |
isSupported(com.oracle.truffle.api.object.DynamicObject object,
long index) |
long |
lastElementIndex(com.oracle.truffle.api.object.DynamicObject object)
Last element index (inclusive).
|
static <T> ZeroBasedJSObjectArray |
makeZeroBasedJSObjectArray(com.oracle.truffle.api.object.DynamicObject object,
int length,
int usedLength,
T[] array,
int integrityLevel) |
long |
nextElementIndex(com.oracle.truffle.api.object.DynamicObject object,
long index)
Returns the next index.
|
protected int |
prepareInBounds(com.oracle.truffle.api.object.DynamicObject object,
int index,
ScriptArray.ProfileHolder profile) |
protected int |
prepareInBoundsFast(com.oracle.truffle.api.object.DynamicObject object,
long index) |
protected int |
prepareSupported(com.oracle.truffle.api.object.DynamicObject object,
int index,
ScriptArray.ProfileHolder profile) |
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,
JSDynamicObject value) |
protected void |
setLengthLess(com.oracle.truffle.api.object.DynamicObject object,
long length,
ScriptArray.ProfileHolder profile) |
Object[] |
toArray(com.oracle.truffle.api.object.DynamicObject object)
Creates an Object[] from this array, of size array.length.
|
ContiguousJSObjectArray |
toContiguous(com.oracle.truffle.api.object.DynamicObject object,
long index,
Object value) |
HolesJSObjectArray |
toHoles(com.oracle.truffle.api.object.DynamicObject object,
long index,
Object value) |
ZeroBasedObjectArray |
toObject(com.oracle.truffle.api.object.DynamicObject object,
long index,
Object value) |
protected ZeroBasedJSObjectArray |
withIntegrityLevel(int newIntegrityLevel) |
allocateArray, castNonNull, checkNonNull, cloneArray, deleteElementImpl, fillHoles, getArray, getArrayCapacity, getInBoundsFast, isHolePrepared, moveRangePrepared, resizeArray, setElementImpl, setHoleValue, setInBounds, setSupported, toDouble
clearUnusedArea, containsHoles, countHoles, createSetSupportedProfile, deleteElementHoles, getArrayOffset, getElement, getElementInBounds, getInBoundsFastDouble, getInBoundsFastInt, getIndexOffset, getUsedLength, hasElement, incrementHolesCount, isInBounds, isInBoundsFast, isSparse, isSupportedContiguous, isSupportedHoles, isSupportedZeroBased, length, lengthInt, nextElementIndexHoles, nextElementIndexZeroBased, prepareInBoundsContiguous, prepareInBoundsHoles, prepareInBoundsZeroBased, prepareSupportedContiguous, prepareSupportedHoles, prepareSupportedZeroBased, previousElementIndex, previousElementIndexHoles, removeRangeContiguous, removeRangeHoles, setArrayOffset, setArrayProperties, setIndexOffset, setLengthImpl, setLengthLessContiguous, setLengthLessZeroBased, toArrayZeroBased, toNonContiguous, toNonHoles, toSparse, traceWriteValue
array, createCache, freeze, isExtensible, isFrozen, isLengthNotWritable, isSealed, isStatelessType, preventExtensions, seal, setIntegrityLevel, setLengthNotWritable, toString
addRange, asIterable, canDeleteElement, cast, createConstantArray, createConstantEmptyArray, createSetLengthProfile, deleteElement, isHolesType, isInstance, makeMultiRangeList, makeRangeList, nextPower, ownPropertyKeys, ownPropertyKeysContiguous, ownPropertyKeysHoles, removeRange, removeRange, setElement, setLength, setLength, toString, traceArrayTransition, traceWrite, valueIsByte
public static <T> ZeroBasedJSObjectArray makeZeroBasedJSObjectArray(com.oracle.truffle.api.object.DynamicObject object, int length, int usedLength, T[] array, int integrityLevel)
public static ZeroBasedJSObjectArray createZeroBasedJSObjectArray()
public boolean isSupported(com.oracle.truffle.api.object.DynamicObject object, long index)
isSupported
in class AbstractWritableArray
public com.oracle.truffle.api.object.DynamicObject getInBoundsFastJSObject(com.oracle.truffle.api.object.DynamicObject object, int index)
getInBoundsFastJSObject
in class AbstractJSObjectArray
public void setInBoundsFast(com.oracle.truffle.api.object.DynamicObject object, int index, JSDynamicObject value)
setInBoundsFast
in class AbstractJSObjectArray
protected int prepareInBoundsFast(com.oracle.truffle.api.object.DynamicObject object, long index)
prepareInBoundsFast
in class AbstractWritableArray
protected int prepareInBounds(com.oracle.truffle.api.object.DynamicObject object, int index, ScriptArray.ProfileHolder profile)
prepareInBounds
in class AbstractWritableArray
protected int prepareSupported(com.oracle.truffle.api.object.DynamicObject object, int index, ScriptArray.ProfileHolder profile)
prepareSupported
in class AbstractWritableArray
protected void setLengthLess(com.oracle.truffle.api.object.DynamicObject object, long length, ScriptArray.ProfileHolder profile)
setLengthLess
in class AbstractWritableArray
public ContiguousJSObjectArray toContiguous(com.oracle.truffle.api.object.DynamicObject object, long index, Object value)
toContiguous
in class AbstractWritableArray
public HolesJSObjectArray toHoles(com.oracle.truffle.api.object.DynamicObject object, long index, Object value)
toHoles
in class AbstractJSObjectArray
public ZeroBasedObjectArray toObject(com.oracle.truffle.api.object.DynamicObject object, long index, Object value)
toObject
in class AbstractJSObjectArray
public Object[] toArray(com.oracle.truffle.api.object.DynamicObject object)
ScriptArray
toArray
in class AbstractWritableArray
public long firstElementIndex(com.oracle.truffle.api.object.DynamicObject object)
ScriptArray
firstElementIndex
in class ScriptArray
public long lastElementIndex(com.oracle.truffle.api.object.DynamicObject object)
ScriptArray
lastElementIndex
in class ScriptArray
public ScriptArray removeRangeImpl(com.oracle.truffle.api.object.DynamicObject object, long start, long end)
ScriptArray
removeRangeImpl
in class ScriptArray
public ScriptArray addRangeImpl(com.oracle.truffle.api.object.DynamicObject object, long offset, int size)
ScriptArray
addRangeImpl
in class ScriptArray
offset
- starting offset positionsize
- size of the inserted empty arrayScriptArray
instance with the new sizepublic boolean hasHoles(com.oracle.truffle.api.object.DynamicObject object)
hasHoles
in class ScriptArray
protected ZeroBasedJSObjectArray withIntegrityLevel(int newIntegrityLevel)
withIntegrityLevel
in class AbstractJSObjectArray
public long nextElementIndex(com.oracle.truffle.api.object.DynamicObject object, long index)
ScriptArray
nextElementIndex
in class AbstractWritableArray