Class AbstractJSObjectArray
java.lang.Object
com.oracle.truffle.js.runtime.array.ScriptArray
com.oracle.truffle.js.runtime.array.DynamicArray
com.oracle.truffle.js.runtime.array.dyn.AbstractWritableArray
com.oracle.truffle.js.runtime.array.dyn.AbstractJSObjectArray
- Direct Known Subclasses:
AbstractContiguousJSObjectArray, ZeroBasedJSObjectArray
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractWritableArray
AbstractWritableArray.SetSupportedProfileAccessNested classes/interfaces inherited from class DynamicArray
DynamicArray.DynamicArrayCacheNested classes/interfaces inherited from class ScriptArray
ScriptArray.CreateWritableProfileAccess, ScriptArray.DefaultIterator, ScriptArray.SetLengthProfileAccess -
Field Summary
Fields inherited from class DynamicArray
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_MASKFields inherited from class ScriptArray
EMPTY_OBJECT_ARRAY -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractJSObjectArray(int integrityLevel, DynamicArray.DynamicArrayCache cache) -
Method Summary
Modifier and TypeMethodDescriptionfinal ObjectallocateArray(int length) protected JSDynamicObjectcastNonNull(JSDynamicObject value) protected static JSDynamicObjectcheckNonNull(JSDynamicObject value) cloneArray(JSDynamicObject object) deleteElementImpl(JSDynamicObject object, long index, boolean strict) protected final voidfillHoles(JSDynamicObject object, int internalIndex, int grown, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile) protected static JSDynamicObject[]getArray(JSDynamicObject object) protected final intgetArrayCapacity(JSDynamicObject object) getInBoundsFast(JSDynamicObject object, int index) abstract JSDynamicObjectgetInBoundsFastJSObject(JSDynamicObject object, int index) protected final booleanisHolePrepared(JSDynamicObject object, int preparedIndex) Returns true when the array contains a hole at that index.protected final voidmoveRangePrepared(JSDynamicObject object, int src, int dst, int len) Movelenelements fromsrctodst.protected final voidresizeArray(JSDynamicObject object, int newCapacity, int oldCapacity, int offset) final ScriptArraysetElementImpl(JSDynamicObject object, long index, Object value, boolean strict) protected final voidsetHoleValue(JSDynamicObject object, int preparedIndex) final voidsetInBounds(JSDynamicObject object, int index, JSDynamicObject value, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile) abstract voidsetInBoundsFast(JSDynamicObject object, int index, JSDynamicObject value) final voidsetSupported(JSDynamicObject object, int index, JSDynamicObject value, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile) final AbstractWritableArraytoDouble(JSDynamicObject object, long index, double value) abstract AbstractJSObjectArraytoHoles(JSDynamicObject object, long index, Object value) abstract AbstractWritableArraytoObject(JSDynamicObject object, long index, Object value) protected abstract AbstractJSObjectArraywithIntegrityLevel(int newIntegrityLevel) Methods inherited from class AbstractWritableArray
assertHoleCount, checkFillHoles, clearUnusedArea, containsHoles, countHoles, deleteElementHoles, getArrayOffset, getElement, getElementInBounds, getInBoundsFastDouble, getInBoundsFastInt, getIndexOffset, getUsedLength, hasElement, hasHoles, hasHolesOrUnused, 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, unusedElementsAreHolesMethods inherited from class DynamicArray
createCache, freeze, isExtensible, isFrozen, isLengthNotWritable, isSealed, maybePreinitializeCache, preventExtensions, seal, setIntegrityLevel, setLengthNotWritable, toStringMethods inherited from class ScriptArray
addRange, addRangeImpl, asIterable, canDeleteElement, cast, createConstantArray, createConstantEmptyArray, deleteElement, firstElementIndex, isHolesType, isInstance, lastElementIndex, makeMultiRangeList, makeRangeList, nextPower, ownPropertyKeys, ownPropertyKeysContiguous, ownPropertyKeysHoles, removeRange, removeRange, removeRangeImpl, setElement, setLength, setLength, shiftRange, toArray, traceArrayTransition, traceWrite, valueIsByte
-
Constructor Details
-
AbstractJSObjectArray
-
-
Method Details
-
setInBoundsFast
-
setElementImpl
public final ScriptArray setElementImpl(JSDynamicObject object, long index, Object value, boolean strict) - Specified by:
setElementImplin classScriptArray
-
getInBoundsFast
- Specified by:
getInBoundsFastin classAbstractWritableArray
-
getArray
-
getInBoundsFastJSObject
-
setInBounds
public final void setInBounds(JSDynamicObject object, int index, JSDynamicObject value, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile) -
setSupported
public final void setSupported(JSDynamicObject object, int index, JSDynamicObject value, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile) -
setHoleValue
- Specified by:
setHoleValuein classAbstractWritableArray
-
fillHoles
protected final void fillHoles(JSDynamicObject object, int internalIndex, int grown, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile) - Overrides:
fillHolesin classAbstractWritableArray
-
isHolePrepared
Description copied from class:AbstractWritableArrayReturns true when the array contains a hole at that index. The index is a prepared (internal) index.- Specified by:
isHolePreparedin classAbstractWritableArray
-
getArrayCapacity
- Specified by:
getArrayCapacityin classAbstractWritableArray
-
resizeArray
protected final void resizeArray(JSDynamicObject object, int newCapacity, int oldCapacity, int offset) - Specified by:
resizeArrayin classAbstractWritableArray
-
toHoles
- Specified by:
toHolesin classAbstractWritableArray
-
toObject
- Specified by:
toObjectin classAbstractWritableArray
-
toDouble
- Specified by:
toDoublein classAbstractWritableArray
-
deleteElementImpl
- Specified by:
deleteElementImplin classScriptArray
-
moveRangePrepared
Description copied from class:AbstractWritableArrayMovelenelements fromsrctodst.- Specified by:
moveRangePreparedin classAbstractWritableArray
-
allocateArray
- Specified by:
allocateArrayin classAbstractWritableArray
-
cloneArray
- Specified by:
cloneArrayin classDynamicArray
-
withIntegrityLevel
- Specified by:
withIntegrityLevelin classAbstractWritableArray
-
checkNonNull
-
castNonNull
-