Class ContiguousJSObjectArray
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
com.oracle.truffle.js.runtime.array.dyn.AbstractContiguousJSObjectArray
com.oracle.truffle.js.runtime.array.dyn.ContiguousJSObjectArray
-
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 -
Method Summary
Modifier and TypeMethodDescriptionbooleanisSupported(JSDynamicObject object, long index) static ContiguousJSObjectArraymakeContiguousJSObjectArray(JSDynamicObject object, long length, JSDynamicObject[] array, long indexOffset, int arrayOffset, int usedLength, int integrityLevel) protected intprepareInBounds(JSDynamicObject object, int index, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile) protected intprepareSupported(JSDynamicObject object, int index, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile) removeRangeImpl(JSDynamicObject object, long start, long end) This function deletes all elements in the range from [start..end[.toHoles(JSDynamicObject object, long index, Object value) toNonContiguous(JSDynamicObject object, int index, Object value, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile) toObject(JSDynamicObject object, long index, Object value) protected ContiguousJSObjectArraywithIntegrityLevel(int newIntegrityLevel) Methods inherited from class AbstractContiguousJSObjectArray
addRangeImpl, firstElementIndex, getArrayOffset, getInBoundsFastJSObject, getIndexOffset, lastElementIndex, prepareInBoundsFast, setArrayOffset, setInBoundsFast, setIndexOffset, setLengthLessMethods inherited from class AbstractJSObjectArray
allocateArray, castNonNull, checkNonNull, cloneArray, deleteElementImpl, fillHoles, getArray, getArrayCapacity, getInBoundsFast, isHolePrepared, moveRangePrepared, resizeArray, setElementImpl, setHoleValue, setInBounds, setSupported, toDoubleMethods inherited from class AbstractWritableArray
assertHoleCount, checkFillHoles, clearUnusedArea, containsHoles, countHoles, deleteElementHoles, getElement, getElementInBounds, getInBoundsFastDouble, getInBoundsFastInt, getUsedLength, hasElement, hasHoles, hasHolesOrUnused, incrementHolesCount, isInBounds, isInBoundsFast, isSparse, isSupportedContiguous, isSupportedHoles, isSupportedZeroBased, length, lengthInt, nextElementIndex, nextElementIndexHoles, nextElementIndexZeroBased, prepareInBoundsContiguous, prepareInBoundsHoles, prepareInBoundsZeroBased, prepareSupportedContiguous, prepareSupportedHoles, prepareSupportedZeroBased, previousElementIndex, previousElementIndexHoles, removeRangeContiguous, removeRangeHoles, setArrayProperties, setArrayProperties, setLengthImpl, setLengthLessContiguous, setLengthLessZeroBased, shiftRangeImpl, toContiguous, 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, asIterable, canDeleteElement, cast, createConstantArray, createConstantEmptyArray, deleteElement, isHolesType, isInstance, makeMultiRangeList, makeRangeList, nextPower, ownPropertyKeys, ownPropertyKeysContiguous, ownPropertyKeysHoles, removeRange, removeRange, setElement, setLength, setLength, shiftRange, toArray, traceArrayTransition, traceWrite, valueIsByte
-
Method Details
-
makeContiguousJSObjectArray
public static ContiguousJSObjectArray makeContiguousJSObjectArray(JSDynamicObject object, long length, JSDynamicObject[] array, long indexOffset, int arrayOffset, int usedLength, int integrityLevel) -
prepareInBounds
protected int prepareInBounds(JSDynamicObject object, int index, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile) - Specified by:
prepareInBoundsin classAbstractWritableArray
-
prepareSupported
protected int prepareSupported(JSDynamicObject object, int index, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile) - Specified by:
prepareSupportedin classAbstractWritableArray
-
isSupported
- Specified by:
isSupportedin classAbstractWritableArray
-
toHoles
- Specified by:
toHolesin classAbstractJSObjectArray
-
toNonContiguous
public ZeroBasedJSObjectArray toNonContiguous(JSDynamicObject object, int index, Object value, com.oracle.truffle.api.nodes.Node node, AbstractWritableArray.SetSupportedProfileAccess profile) - Overrides:
toNonContiguousin classAbstractWritableArray
-
toObject
- Specified by:
toObjectin classAbstractJSObjectArray
-
removeRangeImpl
Description copied from class:ScriptArrayThis function deletes all elements in the range from [start..end[. This is equivalent to shifting the whole array, starting with element index end, by end-start positions to the left. Can be used by e.g. Array.prototype.splice;- Specified by:
removeRangeImplin classScriptArray
-
withIntegrityLevel
- Specified by:
withIntegrityLevelin classAbstractJSObjectArray
-