5#ifndef V8_OBJECTS_JS_ARRAY_INL_H_
6#define V8_OBJECTS_JS_ARRAY_INL_H_
19#include "torque-generated/src/objects/js-array-tq-inl.inc"
51 EnsureCanContainElements(array, storage, storage->length(),
56 if (map == roots.fixed_double_array_map()) {
59 DCHECK_NE(map, roots.fixed_double_array_map());
63 for (
int i = 0;
i < elems->
length();
i++) {
72 array->set_elements(*storage);
77 return map()->prototype() == *isolate->initial_array_prototype();
87 set_raw_kind(
static_cast<int>(
kind));
void set_kind(IterationKind kind)
IterationKind kind() const
bool SetLengthWouldNormalize(uint32_t new_length)
void set_length(Tagged< Number > value, ReleaseStoreTag tag, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)=delete
Tagged< Number > length(PtrComprCageBase cage_base, AcquireLoadTag tag) const =delete
static void SetContent(DirectHandle< JSArray > array, DirectHandle< FixedArrayBase > storage)
bool HasArrayPrototype(Isolate *isolate)
static constexpr uint32_t kMaxFastArrayLength
static constexpr Tagged< Smi > FromInt(int value)
static PtrType load(Tagged< HeapObject > host, int offset=0)
static void Relaxed_Store(Tagged< HeapObject > host, PtrType value)
static PtrType Relaxed_Load(Tagged< HeapObject > host, int offset=0)
@ ALLOW_COPIED_DOUBLE_ELEMENTS
ReadOnlyRoots GetReadOnlyRoots()
Tagged(T object) -> Tagged< T >
constexpr bool IsSmiElementsKind(ElementsKind kind)
V8_INLINE constexpr bool IsSmi(TaggedImpl< kRefType, StorageType > obj)
constexpr bool IsObjectElementsKind(ElementsKind kind)
constexpr bool IsDoubleElementsKind(ElementsKind kind)
Tagged< To > Cast(Tagged< From > value, const v8::SourceLocation &loc=INIT_SOURCE_LOCATION_IN_DEBUG)
#define TQ_OBJECT_CONSTRUCTORS_IMPL(Type)
#define SMI_ACCESSORS(holder, name, offset)
#define CONDITIONAL_WRITE_BARRIER(object, offset, value, mode)
#define DEF_GETTER(Camel, Lower, Bit)
#define DCHECK_NE(v1, v2)
#define DCHECK(condition)