public final class HolesDoubleArray extends AbstractContiguousDoubleArray
AbstractWritableArray.SetSupportedProfileAccessDynamicArray.DynamicArrayCacheScriptArray.CreateWritableProfileAccess, ScriptArray.DefaultIterator, ScriptArray.SetLengthProfileAccess| Modifier and Type | Field and Description |
|---|---|
static long |
HOLE_VALUE |
static double |
HOLE_VALUE_DOUBLE |
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_MASKEMPTY_OBJECT_ARRAY| Modifier and Type | Method and Description |
|---|---|
boolean |
containsHoles(JSDynamicObject object,
long index) |
ScriptArray |
deleteElementImpl(JSDynamicObject object,
long index,
boolean strict) |
Object |
getInBoundsFast(JSDynamicObject object,
int index) |
boolean |
hasElement(JSDynamicObject object,
long index) |
boolean |
isHoleFast(JSDynamicObject object,
int index) |
boolean |
isHolesType()
Returns true when the this array could have hole values in it.
|
static boolean |
isHoleValue(double value) |
boolean |
isSupported(JSDynamicObject object,
long index) |
static HolesDoubleArray |
makeHolesDoubleArray(JSDynamicObject object,
int length,
double[] array,
long indexOffset,
int arrayOffset,
int usedLength,
int holeCount,
int integrityLevel) |
long |
nextElementIndex(JSDynamicObject object,
long index0)
Returns the next index.
|
List<Object> |
ownPropertyKeys(JSDynamicObject object) |
int |
prepareInBounds(JSDynamicObject object,
int index,
com.oracle.truffle.api.nodes.Node node,
AbstractWritableArray.SetSupportedProfileAccess profile) |
int |
prepareSupported(JSDynamicObject object,
int index,
com.oracle.truffle.api.nodes.Node node,
AbstractWritableArray.SetSupportedProfileAccess profile) |
long |
previousElementIndex(JSDynamicObject object,
long index0)
Returns the previous index.
|
ScriptArray |
removeRangeImpl(JSDynamicObject object,
long start,
long end)
This function deletes all elements in the range from [start..end[.
|
void |
setInBoundsFast(JSDynamicObject object,
int index,
double value) |
void |
setInBoundsFastHole(JSDynamicObject object,
int index,
double value) |
void |
setInBoundsFastNonHole(JSDynamicObject object,
int index,
double value) |
HolesDoubleArray |
toHoles(JSDynamicObject object,
long index,
Object value) |
AbstractDoubleArray |
toNonHoles(JSDynamicObject object,
long index,
Object value) |
AbstractWritableArray |
toObject(JSDynamicObject object,
long index,
Object value) |
protected HolesDoubleArray |
withIntegrityLevel(int newIntegrityLevel) |
addRangeImpl, firstElementIndex, getArrayOffset, getInBoundsFastDouble, getIndexOffset, hasHoles, lastElementIndex, prepareInBoundsFast, setArrayOffset, setIndexOffset, setLengthLessallocateArray, cloneArray, getArray, getArrayCapacity, isHolePrepared, moveRangePrepared, resizeArray, setElementImpl, setHoleValue, setInBounds, setSupported, toDoubleassertHoleCount, checkFillHoles, clearUnusedArea, countHoles, deleteElementHoles, fillHoles, getElement, getElementInBounds, getInBoundsFastInt, getUsedLength, incrementHolesCount, isInBounds, isInBoundsFast, isSparse, isSupportedContiguous, isSupportedHoles, isSupportedZeroBased, length, lengthInt, nextElementIndexHoles, nextElementIndexZeroBased, prepareInBoundsContiguous, prepareInBoundsHoles, prepareInBoundsZeroBased, prepareSupportedContiguous, prepareSupportedHoles, prepareSupportedZeroBased, previousElementIndexHoles, removeRangeContiguous, removeRangeHoles, setArrayProperties, setArrayProperties, setLengthImpl, setLengthLessContiguous, setLengthLessZeroBased, shiftRangeImpl, toContiguous, toNonContiguous, toSparse, traceWriteValue, unusedElementsAreHolescreateCache, freeze, isExtensible, isFrozen, isLengthNotWritable, isSealed, maybePreinitializeCache, preventExtensions, seal, setIntegrityLevel, setLengthNotWritable, toStringaddRange, asIterable, canDeleteElement, cast, createConstantArray, createConstantEmptyArray, deleteElement, isInstance, makeMultiRangeList, makeRangeList, nextPower, ownPropertyKeysContiguous, ownPropertyKeysHoles, removeRange, removeRange, setElement, setLength, setLength, shiftRange, toArray, toString, traceArrayTransition, traceWrite, valueIsBytepublic static final long HOLE_VALUE
public static final double HOLE_VALUE_DOUBLE
public static HolesDoubleArray makeHolesDoubleArray(JSDynamicObject object, int length, double[] array, long indexOffset, int arrayOffset, int usedLength, int holeCount, int integrityLevel)
public int prepareInBounds(JSDynamicObject object, int index, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile)
prepareInBounds in class AbstractWritableArraypublic void setInBoundsFast(JSDynamicObject object, int index, double value)
setInBoundsFast in class AbstractContiguousDoubleArraypublic boolean isHoleFast(JSDynamicObject object, int index)
public void setInBoundsFastHole(JSDynamicObject object, int index, double value)
public void setInBoundsFastNonHole(JSDynamicObject object, int index, double value)
public boolean containsHoles(JSDynamicObject object, long index)
containsHoles in class AbstractWritableArraypublic AbstractDoubleArray toNonHoles(JSDynamicObject object, long index, Object value)
toNonHoles in class AbstractWritableArraypublic boolean isSupported(JSDynamicObject object, long index)
isSupported in class AbstractWritableArraypublic int prepareSupported(JSDynamicObject object, int index, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile)
prepareSupported in class AbstractWritableArraypublic Object getInBoundsFast(JSDynamicObject object, int index)
getInBoundsFast in class AbstractDoubleArraypublic HolesDoubleArray toHoles(JSDynamicObject object, long index, Object value)
toHoles in class AbstractDoubleArraypublic AbstractWritableArray toObject(JSDynamicObject object, long index, Object value)
toObject in class AbstractWritableArraypublic static boolean isHoleValue(double value)
public long nextElementIndex(JSDynamicObject object, long index0)
ScriptArraynextElementIndex in class AbstractWritableArraypublic long previousElementIndex(JSDynamicObject object, long index0)
ScriptArraypreviousElementIndex in class AbstractWritableArraypublic boolean hasElement(JSDynamicObject object, long index)
hasElement in class AbstractWritableArraypublic ScriptArray deleteElementImpl(JSDynamicObject object, long index, boolean strict)
deleteElementImpl in class AbstractDoubleArraypublic boolean isHolesType()
ScriptArrayisHolesType in class ScriptArraypublic ScriptArray removeRangeImpl(JSDynamicObject object, long start, long end)
ScriptArrayremoveRangeImpl in class ScriptArrayprotected HolesDoubleArray withIntegrityLevel(int newIntegrityLevel)
withIntegrityLevel in class AbstractDoubleArraypublic List<Object> ownPropertyKeys(JSDynamicObject object)
ownPropertyKeys in class ScriptArray