5#ifndef V8_OBJECTS_LITERAL_OBJECTS_INL_H_
6#define V8_OBJECTS_LITERAL_OBJECTS_INL_H_
20#include "torque-generated/src/objects/literal-objects-tq-inl.inc"
27template <
class IsolateT>
29 IsolateT* isolate,
int boilerplate,
int all_properties,
int index_keys,
39 all_properties - index_keys - (has_seen_proto ? 1 : 0);
46 std::optional<DisallowGarbageCollection> no_gc;
48 Allocate(isolate, capacity, &no_gc, allocation));
57 return backing_store_size_.load().value();
63 return flags_.load().value();
97 kStaticPropertiesTemplateOffset)
99 kStaticElementsTemplateOffset)
101 kStaticComputedPropertiesOffset)
103 kInstancePropertiesTemplateOffset)
105 kInstanceElementsTemplateOffset)
107 kInstanceComputedPropertiesOffset)
124 return constant_elements()->length() == 0;
133 kDataOffset, kRegExpDataIndirectPointerTag)
void set_elements_kind(ElementsKind kind)
int backing_store_size() const
Tagged< Object > name(int index) const
static constexpr int ValueIndex(int i)
static constexpr int NameIndex(int i)
void set_backing_store_size(int backing_store_size)
static Handle< ObjectBoilerplateDescription > New(IsolateT *isolate, int boilerplate, int all_properties, int index_keys, bool has_seen_proto, AllocationType allocation=AllocationType::kYoung)
Tagged< Object > value(int index) const
void set_flags(int value)
static constexpr int kElementsPerEntry
int boilerplate_properties_count() const
void set_key_value(int index, Tagged< Object > key, Tagged< Object > value)
static constexpr Tagged< Smi > FromInt(int value)
static Handle< ObjectBoilerplateDescription > Allocate(IsolateT *isolate, int capacity, std::optional< DisallowGarbageCollection > *no_gc_out, AllocationType allocation=AllocationType::kYoung)
void set(int index, Tagged< ElementT > value, WriteBarrierMode mode=kDefaultMode)
static constexpr int kMaxCapacity
Tagged< ElementT > get(int index) const
ZoneVector< RpoNumber > & result
kStaticElementsTemplateOffset kInstancePropertiesTemplateOffset instance_computed_properties
void MemsetTagged(Tagged_t *start, Tagged< MaybeObject > value, size_t counter)
kStaticElementsTemplateOffset instance_properties_template
Tagged< To > Cast(Tagged< From > value, const v8::SourceLocation &loc=INIT_SOURCE_LOCATION_IN_DEBUG)
#define OBJECT_CONSTRUCTORS_IMPL(Type, Super)
#define ACCESSORS(holder, name, type, offset)
#define TRUSTED_POINTER_ACCESSORS(holder, name, type, offset, tag)
#define TQ_OBJECT_CONSTRUCTORS_IMPL(Type)
#define SMI_ACCESSORS(holder, name, offset)
#define CHECK_LE(lhs, rhs)
#define DCHECK_GE(v1, v2)
#define DCHECK_LT(v1, v2)
#define DCHECK_EQ(v1, v2)