v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::JSObject Class Reference

#include <js-objects.h>

Inheritance diagram for v8::internal::JSObject:
Collaboration diagram for v8::internal::JSObject:

Classes

class  BodyDescriptor
 
class  FastBodyDescriptor
 

Public Types

enum  AccessorInfoHandling { FORCE_FIELD , DONT_FORCE_FIELD }
 

Public Member Functions

Tagged< FixedArrayBaseelements (PtrComprCageBase cage_base, AcquireLoadTag tag) const =delete
 
void set_elements (Tagged< FixedArrayBase > value, ReleaseStoreTag tag, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)=delete
 
void initialize_elements ()
 
bool HasEnumerableElements ()
 
bool WouldConvertToSlowElements (uint32_t index)
 
bool MayHaveEmbedderFields () const
 
int GetEmbedderFieldsStartOffset ()
 
int GetEmbedderFieldCount () const
 
int GetEmbedderFieldOffset (int index)
 
Tagged< ObjectGetEmbedderField (int index)
 
void SetEmbedderField (int index, Tagged< Object > value)
 
void SetEmbedderField (int index, Tagged< Smi > value)
 
bool IsDroppableApiObject () const
 
void RequireSlowElements (Tagged< NumberDictionary > dictionary)
 
Tagged< JSAnyRawFastPropertyAt (FieldIndex index) const
 
Tagged< JSAnyRawFastPropertyAt (PtrComprCageBase cage_base, FieldIndex index) const
 
Tagged< JSAnyRawFastPropertyAt (FieldIndex index, SeqCstAccessTag tag) const
 
Tagged< JSAnyRawFastPropertyAt (PtrComprCageBase cage_base, FieldIndex index, SeqCstAccessTag tag) const
 
std::optional< Tagged< Object > > RawInobjectPropertyAt (PtrComprCageBase cage_base, Tagged< Map > original_map, FieldIndex index) const
 
void FastPropertyAtPut (FieldIndex index, Tagged< Object > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
void FastPropertyAtPut (FieldIndex index, Tagged< Object > value, SeqCstAccessTag tag)
 
void RawFastInobjectPropertyAtPut (FieldIndex index, Tagged< Object > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
void RawFastInobjectPropertyAtPut (FieldIndex index, Tagged< Object > value, SeqCstAccessTag tag)
 
void WriteToField (InternalIndex descriptor, PropertyDetails details, Tagged< Object > value)
 
Tagged< ObjectRawFastInobjectPropertyAtSwap (FieldIndex index, Tagged< Object > value, SeqCstAccessTag tag)
 
Tagged< ObjectRawFastPropertyAtSwap (FieldIndex index, Tagged< Object > value, SeqCstAccessTag tag)
 
Tagged< ObjectRawFastPropertyAtCompareAndSwap (FieldIndex index, Tagged< Object > expected, Tagged< Object > value, SeqCstAccessTag tag)
 
Tagged< ObjectRawFastInobjectPropertyAtCompareAndSwap (FieldIndex index, Tagged< Object > expected, Tagged< Object > value, SeqCstAccessTag tag)
 
int GetInObjectPropertyOffset (int index)
 
Tagged< ObjectInObjectPropertyAt (int index)
 
Tagged< ObjectInObjectPropertyAtPut (int index, Tagged< Object > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
void InitializeBody (Tagged< Map > map, int start_offset, bool is_slack_tracking_in_progress, MapWord filler_map, Tagged< Object > undefined_value)
 
bool ReferencesObject (Tagged< Object > obj)
 
void JSObjectShortPrint (StringStream *accumulator)
 
void PrintInstanceMigration (FILE *file, Tagged< Map > original_map, Tagged< Map > new_map)
 
Tagged< ObjectSlowReverseLookup (Tagged< Object > value)
 
int GetFastElementsUsage ()
 
template<typename T , template< typename > typename HandleType>
requires (std::is_convertible_v<HandleType<T>, DirectHandle<T>>)
HandleType< Object >::MaybeType DefineOwnPropertyIgnoreAttributes (LookupIterator *it, HandleType< T > value, PropertyAttributes attributes, AccessorInfoHandling handling, EnforceDefineSemantics semantics)
 
template<PropertyAttributes attrs>
Maybe< boolPreventExtensionsWithTransition (Isolate *isolate, DirectHandle< JSObject > object, ShouldThrow should_throw)
 

Static Public Member Functions

static bool IsUnmodifiedApiObject (FullObjectSlot o)
 
static V8_EXPORT_PRIVATE V8_WARN_UNUSED_RESULT MaybeHandle< JSObjectNew (DirectHandle< JSFunction > constructor, DirectHandle< JSReceiver > new_target, DirectHandle< AllocationSite > site, NewJSObjectType=NewJSObjectType::kNoAPIWrapper)
 
static MaybeDirectHandle< JSObjectNewWithMap (Isolate *isolate, DirectHandle< Map > initial_map, DirectHandle< AllocationSite > site, NewJSObjectType=NewJSObjectType::kNoAPIWrapper)
 
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< JSObjectObjectCreate (Isolate *isolate, DirectHandle< JSPrototype > prototype)
 
static void SetMapAndElements (DirectHandle< JSObject > object, DirectHandle< Map > map, DirectHandle< FixedArrayBase > elements)
 
static void EnsureWritableFastElements (DirectHandle< JSObject > object)
 
static V8_WARN_UNUSED_RESULT Maybe< InterceptorResultSetPropertyWithInterceptor (LookupIterator *it, Maybe< ShouldThrow > should_throw, DirectHandle< Object > value)
 
template<typename T , template< typename > typename HandleType>
requires (std::is_convertible_v<HandleType<T>, DirectHandle<T>>)
static V8_WARN_UNUSED_RESULT HandleType< Object >::MaybeType DefineOwnPropertyIgnoreAttributes (LookupIterator *it, HandleType< T > value, PropertyAttributes attributes, AccessorInfoHandling handling=DONT_FORCE_FIELD, EnforceDefineSemantics semantics=EnforceDefineSemantics::kSet)
 
static V8_WARN_UNUSED_RESULT Maybe< boolDefineOwnPropertyIgnoreAttributes (LookupIterator *it, DirectHandle< Object > value, PropertyAttributes attributes, Maybe< ShouldThrow > should_throw, AccessorInfoHandling handling=DONT_FORCE_FIELD, EnforceDefineSemantics semantics=EnforceDefineSemantics::kSet, StoreOrigin store_origin=StoreOrigin::kNamed)
 
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< Object > V8_EXPORT_PRIVATE SetOwnPropertyIgnoreAttributes (DirectHandle< JSObject > object, DirectHandle< Name > name, DirectHandle< Object > value, PropertyAttributes attributes)
 
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< ObjectSetOwnElementIgnoreAttributes (DirectHandle< JSObject > object, size_t index, DirectHandle< Object > value, PropertyAttributes attributes)
 
V8_EXPORT_PRIVATE static V8_WARN_UNUSED_RESULT MaybeDirectHandle< ObjectDefinePropertyOrElementIgnoreAttributes (DirectHandle< JSObject > object, DirectHandle< Name > name, DirectHandle< Object > value, PropertyAttributes attributes=NONE)
 
static V8_WARN_UNUSED_RESULT Maybe< boolCreateDataProperty (Isolate *isolate, DirectHandle< JSObject > object, PropertyKey key, DirectHandle< Object > value, Maybe< ShouldThrow > should_throw=Just(kDontThrow))
 
static V8_EXPORT_PRIVATE void AddProperty (Isolate *isolate, DirectHandle< JSObject > object, DirectHandle< Name > name, DirectHandle< Object > value, PropertyAttributes attributes)
 
static void AddProperty (Isolate *isolate, DirectHandle< JSObject > object, const char *name, DirectHandle< Object > value, PropertyAttributes attributes)
 
static V8_EXPORT_PRIVATE Maybe< boolAddDataElement (DirectHandle< JSObject > receiver, uint32_t index, DirectHandle< Object > value, PropertyAttributes attributes)
 
static void AllocateStorageForMap (DirectHandle< JSObject > object, DirectHandle< Map > map)
 
static void MigrateInstance (Isolate *isolate, DirectHandle< JSObject > instance)
 
static bool TryMigrateInstance (Isolate *isolate, DirectHandle< JSObject > instance)
 
static void SetNormalizedProperty (DirectHandle< JSObject > object, DirectHandle< Name > name, DirectHandle< Object > value, PropertyDetails details)
 
static void SetNormalizedElement (DirectHandle< JSObject > object, uint32_t index, DirectHandle< Object > value, PropertyDetails details)
 
static void OptimizeAsPrototype (DirectHandle< JSObject > object, bool enable_setup_mode=true)
 
static void ReoptimizeIfPrototype (DirectHandle< JSObject > object)
 
static void MakePrototypesFast (DirectHandle< Object > receiver, WhereToStart where_to_start, Isolate *isolate)
 
static void LazyRegisterPrototypeUser (DirectHandle< Map > user, Isolate *isolate)
 
static void UpdatePrototypeUserRegistration (DirectHandle< Map > old_map, DirectHandle< Map > new_map, Isolate *isolate)
 
static bool UnregisterPrototypeUser (DirectHandle< Map > user, Isolate *isolate)
 
static Tagged< MapInvalidatePrototypeChains (Tagged< Map > map)
 
static void InvalidatePrototypeValidityCell (Tagged< JSGlobalObject > global)
 
static void NotifyMapChange (DirectHandle< Map > old_map, DirectHandle< Map > new_map, Isolate *isolate)
 
static bool PrototypeHasNoElements (Isolate *isolate, Tagged< JSObject > object)
 
static void PrototypeRegistryCompactionCallback (Tagged< HeapObject > value, int old_index, int new_index)
 
static V8_WARN_UNUSED_RESULT Maybe< PropertyAttributesGetPropertyAttributesWithInterceptor (LookupIterator *it)
 
static V8_WARN_UNUSED_RESULT Maybe< PropertyAttributesGetPropertyAttributesWithFailedAccessCheck (LookupIterator *it)
 
static V8_EXPORT_PRIVATE MaybeDirectHandle< ObjectDefineOwnAccessorIgnoreAttributes (DirectHandle< JSObject > object, DirectHandle< Name > name, DirectHandle< Object > getter, DirectHandle< Object > setter, PropertyAttributes attributes)
 
static MaybeDirectHandle< ObjectDefineOwnAccessorIgnoreAttributes (LookupIterator *it, DirectHandle< Object > getter, DirectHandle< Object > setter, PropertyAttributes attributes)
 
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< ObjectSetAccessor (DirectHandle< JSObject > object, DirectHandle< Name > name, DirectHandle< AccessorInfo > info, PropertyAttributes attributes)
 
static V8_WARN_UNUSED_RESULT Maybe< boolCheckIfCanDefineAsConfigurable (Isolate *isolate, LookupIterator *it, DirectHandle< Object > value, Maybe< ShouldThrow > should_throw)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< JSAnyGetPropertyWithInterceptor (LookupIterator *it, bool *done)
 
static void ValidateElements (Tagged< JSObject > object)
 
static void EnsureCanContainHeapObjectElements (DirectHandle< JSObject > obj)
 
template<typename TSlot >
static void EnsureCanContainElements (DirectHandle< JSObject > object, TSlot elements, uint32_t count, EnsureElementsMode mode)
 
static void EnsureCanContainElements (DirectHandle< JSObject > object, DirectHandle< FixedArrayBase > elements, uint32_t length, EnsureElementsMode mode)
 
static void EnsureCanContainElements (DirectHandle< JSObject > object, JavaScriptArguments *arguments, uint32_t arg_count, EnsureElementsMode mode)
 
static constexpr uint32_t NewElementsCapacity (uint32_t old_capacity)
 
template<AllocationSiteUpdateMode update_or_check = AllocationSiteUpdateMode::kUpdate>
static bool UpdateAllocationSite (DirectHandle< JSObject > object, ElementsKind to_kind)
 
static V8_WARN_UNUSED_RESULT Maybe< boolHasRealNamedProperty (Isolate *isolate, DirectHandle< JSObject > object, DirectHandle< Name > name)
 
static V8_WARN_UNUSED_RESULT Maybe< boolHasRealElementProperty (Isolate *isolate, DirectHandle< JSObject > object, uint32_t index)
 
static V8_WARN_UNUSED_RESULT Maybe< boolHasRealNamedCallbackProperty (Isolate *isolate, DirectHandle< JSObject > object, DirectHandle< Name > name)
 
static V8_EXPORT_PRIVATE int GetHeaderSize (InstanceType instance_type, bool function_has_prototype_slot=false)
 
static int GetHeaderSize (Tagged< Map > map)
 
static bool MayHaveEmbedderFields (Tagged< Map > map)
 
static int GetEmbedderFieldsStartOffset (Tagged< Map > map)
 
static int GetEmbedderFieldCount (Tagged< Map > map)
 
static bool IsDroppableApiObject (Tagged< Map >)
 
static DirectHandle< MapGetElementsTransitionMap (DirectHandle< JSObject > object, ElementsKind to_kind)
 
static V8_EXPORT_PRIVATE void TransitionElementsKind (DirectHandle< JSObject > object, ElementsKind to_kind)
 
static V8_EXPORT_PRIVATE void MigrateToMap (Isolate *isolate, DirectHandle< JSObject > object, DirectHandle< Map > new_map, int expected_additional_properties=0)
 
static void ForceSetPrototype (Isolate *isolate, DirectHandle< JSObject > object, DirectHandle< JSPrototype > proto)
 
static V8_EXPORT_PRIVATE void NormalizeProperties (Isolate *isolate, DirectHandle< JSObject > object, PropertyNormalizationMode mode, int expected_additional_properties, bool use_cache, const char *reason)
 
static V8_EXPORT_PRIVATE void NormalizeProperties (Isolate *isolate, DirectHandle< JSObject > object, PropertyNormalizationMode mode, int expected_additional_properties, const char *reason)
 
static V8_EXPORT_PRIVATE DirectHandle< NumberDictionaryNormalizeElements (DirectHandle< JSObject > object)
 
static V8_EXPORT_PRIVATE void MigrateSlowToFast (DirectHandle< JSObject > object, int unused_property_fields, const char *reason)
 
static Handle< ObjectDictionaryPropertyAt (Isolate *isolate, DirectHandle< JSObject > object, InternalIndex dict_index)
 
static std::optional< Tagged< Object > > DictionaryPropertyAt (DirectHandle< JSObject > object, InternalIndex dict_index, Heap *heap)
 
static Handle< JSAnyFastPropertyAt (Isolate *isolate, DirectHandle< JSObject > object, Representation representation, FieldIndex index)
 
static DirectHandle< JSAnyFastPropertyAt (Isolate *isolate, DirectHandle< JSObject > object, Representation representation, FieldIndex index, SeqCstAccessTag tag)
 
static V8_WARN_UNUSED_RESULT Maybe< boolSetPrototype (Isolate *isolate, DirectHandle< JSObject > object, DirectHandle< Object > value, bool from_javascript, ShouldThrow should_throw)
 
static void SetImmutableProto (Isolate *isolate, DirectHandle< JSObject > object)
 
static V8_WARN_UNUSED_RESULT Maybe< boolTestIntegrityLevel (Isolate *isolate, DirectHandle< JSObject > object, IntegrityLevel lvl)
 
static V8_WARN_UNUSED_RESULT Maybe< boolPreventExtensions (Isolate *isolate, DirectHandle< JSObject > object, ShouldThrow should_throw)
 
static bool IsExtensible (Isolate *isolate, DirectHandle< JSObject > object)
 
static MaybeDirectHandle< ObjectReadFromOptionsBag (DirectHandle< Object > options, DirectHandle< String > option_name, Isolate *isolate)
 
static void PrintElementsTransition (FILE *file, DirectHandle< JSObject > object, ElementsKind from_kind, DirectHandle< FixedArrayBase > from_elements, ElementsKind to_kind, DirectHandle< FixedArrayBase > to_elements)
 
template<typename Dictionary >
static void ApplyAttributesToDictionary (Isolate *isolate, ReadOnlyRoots roots, DirectHandle< Dictionary > dictionary, const PropertyAttributes attributes)
 

Static Public Attributes

static const uint32_t kMinAddedElementsCapacity = 16
 
static constexpr uint32_t kMaxElementCount = kMaxUInt32
 
static constexpr uint32_t kMaxElementIndex = kMaxElementCount - 1
 
static const uint32_t kMaxGap = 1024
 
static const int kMaxUncheckedFastElementsLength = 5000
 
static const int kMaxUncheckedOldFastElementsLength = 500
 
static const int kInitialGlobalObjectUnusedPropertiesCount = 4
 
static const int kMaxInstanceSize = 255 * kTaggedSize
 
static const int kMapCacheSize = 128
 
static const int kFieldsAdded = 3
 
static const int kMaxInObjectProperties
 
static const int kMaxFirstInobjectPropertyOffset
 
static const int kMaxEmbedderFields
 
static constexpr int kMaxJSApiObjectInObjectProperties
 
static constexpr int kMaxJSApiObjectEmbedderFields
 

Private Member Functions

bool ReferencesObjectFromElements (Tagged< FixedArray > elements, ElementsKind kind, Tagged< Object > object)
 
Tagged< ObjectRawFastPropertyAtCompareAndSwapInternal (FieldIndex index, Tagged< Object > expected, Tagged< Object > value, SeqCstAccessTag tag)
 

Static Private Member Functions

static V8_WARN_UNUSED_RESULT MaybeHandle< JSAnyGetPropertyWithFailedAccessCheck (LookupIterator *it)
 
static V8_WARN_UNUSED_RESULT Maybe< boolSetPropertyWithFailedAccessCheck (LookupIterator *it, DirectHandle< Object > value, Maybe< ShouldThrow > should_throw)
 
static V8_WARN_UNUSED_RESULT Maybe< InterceptorResultDeletePropertyWithInterceptor (LookupIterator *it, ShouldThrow should_throw)
 
template<PropertyAttributes attrs>
static V8_WARN_UNUSED_RESULT Maybe< boolPreventExtensionsWithTransition (Isolate *isolate, DirectHandle< JSObject > object, ShouldThrow should_throw)
 

Friends

class JSReceiver
 
class Object
 

Detailed Description

Definition at line 372 of file js-objects.h.

Member Enumeration Documentation

◆ AccessorInfoHandling

Enumerator
FORCE_FIELD 
DONT_FORCE_FIELD 

Definition at line 477 of file js-objects.h.

Member Function Documentation

◆ AddDataElement()

Maybe< bool > v8::internal::JSObject::AddDataElement ( DirectHandle< JSObject > receiver,
uint32_t index,
DirectHandle< Object > value,
PropertyAttributes attributes )
static

Definition at line 5423 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddProperty() [1/2]

void v8::internal::JSObject::AddProperty ( Isolate * isolate,
DirectHandle< JSObject > object,
const char * name,
DirectHandle< Object > value,
PropertyAttributes attributes )
static

Definition at line 3645 of file js-objects.cc.

Here is the call graph for this function:

◆ AddProperty() [2/2]

void v8::internal::JSObject::AddProperty ( Isolate * isolate,
DirectHandle< JSObject > object,
DirectHandle< Name > name,
DirectHandle< Object > value,
PropertyAttributes attributes )
static

Definition at line 3618 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AllocateStorageForMap()

void v8::internal::JSObject::AllocateStorageForMap ( DirectHandle< JSObject > object,
DirectHandle< Map > map )
static

Definition at line 3491 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ApplyAttributesToDictionary()

template<typename Dictionary >
template void v8::internal::JSObject::ApplyAttributesToDictionary ( Isolate * isolate,
ReadOnlyRoots roots,
DirectHandle< Dictionary > dictionary,
const PropertyAttributes attributes )
static

Definition at line 4362 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CheckIfCanDefineAsConfigurable()

Maybe< bool > v8::internal::JSObject::CheckIfCanDefineAsConfigurable ( Isolate * isolate,
LookupIterator * it,
DirectHandle< Object > value,
Maybe< ShouldThrow > should_throw )
static

Definition at line 4819 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateDataProperty()

Maybe< bool > v8::internal::JSObject::CreateDataProperty ( Isolate * isolate,
DirectHandle< JSObject > object,
PropertyKey key,
DirectHandle< Object > value,
Maybe< ShouldThrow > should_throw = Just(kDontThrow) )
static

Definition at line 4152 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DefineOwnAccessorIgnoreAttributes() [1/2]

MaybeDirectHandle< Object > v8::internal::JSObject::DefineOwnAccessorIgnoreAttributes ( DirectHandle< JSObject > object,
DirectHandle< Name > name,
DirectHandle< Object > getter,
DirectHandle< Object > setter,
PropertyAttributes attributes )
static

Definition at line 4742 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DefineOwnAccessorIgnoreAttributes() [2/2]

MaybeDirectHandle< Object > v8::internal::JSObject::DefineOwnAccessorIgnoreAttributes ( LookupIterator * it,
DirectHandle< Object > getter,
DirectHandle< Object > setter,
PropertyAttributes attributes )
static

Definition at line 4753 of file js-objects.cc.

Here is the call graph for this function:

◆ DefineOwnPropertyIgnoreAttributes() [1/3]

Maybe< bool > v8::internal::JSObject::DefineOwnPropertyIgnoreAttributes ( LookupIterator * it,
DirectHandle< Object > value,
PropertyAttributes attributes,
Maybe< ShouldThrow > should_throw,
AccessorInfoHandling handling = DONT_FORCE_FIELD,
EnforceDefineSemantics semantics = EnforceDefineSemantics::kSet,
StoreOrigin store_origin = StoreOrigin::kNamed )
static

Definition at line 3657 of file js-objects.cc.

Here is the call graph for this function:

◆ DefineOwnPropertyIgnoreAttributes() [2/3]

template<typename T , template< typename > typename HandleType>
requires (std::is_convertible_v<HandleType<T>, DirectHandle<T>>)
HandleType< Object >::MaybeType v8::internal::JSObject::DefineOwnPropertyIgnoreAttributes ( LookupIterator * it,
HandleType< T > value,
PropertyAttributes attributes,
AccessorInfoHandling handling,
EnforceDefineSemantics semantics )
inline

Definition at line 631 of file js-objects-inl.h.

Here is the call graph for this function:

◆ DefineOwnPropertyIgnoreAttributes() [3/3]

template<typename T , template< typename > typename HandleType>
requires (std::is_convertible_v<HandleType<T>, DirectHandle<T>>)
static V8_WARN_UNUSED_RESULT HandleType< Object >::MaybeType v8::internal::JSObject::DefineOwnPropertyIgnoreAttributes ( LookupIterator * it,
HandleType< T > value,
PropertyAttributes attributes,
AccessorInfoHandling handling = DONT_FORCE_FIELD,
EnforceDefineSemantics semantics = EnforceDefineSemantics::kSet )
inlinestatic
Here is the caller graph for this function:

◆ DefinePropertyOrElementIgnoreAttributes()

MaybeDirectHandle< Object > v8::internal::JSObject::DefinePropertyOrElementIgnoreAttributes ( DirectHandle< JSObject > object,
DirectHandle< Name > name,
DirectHandle< Object > value,
PropertyAttributes attributes = NONE )
static

Definition at line 3815 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DeletePropertyWithInterceptor()

Maybe< InterceptorResult > v8::internal::JSObject::DeletePropertyWithInterceptor ( LookupIterator * it,
ShouldThrow should_throw )
staticprivate

Definition at line 4121 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DictionaryPropertyAt() [1/2]

std::optional< Tagged< Object > > v8::internal::JSObject::DictionaryPropertyAt ( DirectHandle< JSObject > object,
InternalIndex dict_index,
Heap * heap )
static

Definition at line 4644 of file js-objects.cc.

Here is the call graph for this function:

◆ DictionaryPropertyAt() [2/2]

Handle< Object > v8::internal::JSObject::DictionaryPropertyAt ( Isolate * isolate,
DirectHandle< JSObject > object,
InternalIndex dict_index )
static

Definition at line 4630 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ elements()

Tagged< FixedArrayBase > v8::internal::JSObject::elements ( PtrComprCageBase cage_base,
AcquireLoadTag tag ) const
delete

Definition at line 67 of file js-objects-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EnsureCanContainElements() [1/3]

void v8::internal::JSObject::EnsureCanContainElements ( DirectHandle< JSObject > object,
DirectHandle< FixedArrayBase > elements,
uint32_t length,
EnsureElementsMode mode )
inlinestatic

Definition at line 228 of file js-objects-inl.h.

Here is the call graph for this function:

◆ EnsureCanContainElements() [2/3]

void v8::internal::JSObject::EnsureCanContainElements ( DirectHandle< JSObject > object,
JavaScriptArguments * arguments,
uint32_t arg_count,
EnsureElementsMode mode )
static

Definition at line 5343 of file js-objects.cc.

Here is the call graph for this function:

◆ EnsureCanContainElements() [3/3]

template<typename TSlot >
void v8::internal::JSObject::EnsureCanContainElements ( DirectHandle< JSObject > object,
TSlot elements,
uint32_t count,
EnsureElementsMode mode )
inlinestatic

Definition at line 179 of file js-objects-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EnsureCanContainHeapObjectElements()

kPropertiesOrHashOffset void v8::internal::JSObject::EnsureCanContainHeapObjectElements ( DirectHandle< JSObject > obj)
inlinestatic

Definition at line 165 of file js-objects-inl.h.

Here is the call graph for this function:

◆ EnsureWritableFastElements()

void v8::internal::JSObject::EnsureWritableFastElements ( DirectHandle< JSObject > object)
static

Definition at line 2437 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FastPropertyAt() [1/2]

Handle< JSAny > v8::internal::JSObject::FastPropertyAt ( Isolate * isolate,
DirectHandle< JSObject > object,
Representation representation,
FieldIndex index )
static

Definition at line 4612 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FastPropertyAt() [2/2]

DirectHandle< JSAny > v8::internal::JSObject::FastPropertyAt ( Isolate * isolate,
DirectHandle< JSObject > object,
Representation representation,
FieldIndex index,
SeqCstAccessTag tag )
static

Definition at line 4620 of file js-objects.cc.

Here is the call graph for this function:

◆ FastPropertyAtPut() [1/2]

void v8::internal::JSObject::FastPropertyAtPut ( FieldIndex index,
Tagged< Object > value,
SeqCstAccessTag tag )
inline

Definition at line 473 of file js-objects-inl.h.

◆ FastPropertyAtPut() [2/2]

void v8::internal::JSObject::FastPropertyAtPut ( FieldIndex index,
Tagged< Object > value,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
inline

Definition at line 463 of file js-objects-inl.h.

◆ ForceSetPrototype()

void v8::internal::JSObject::ForceSetPrototype ( Isolate * isolate,
DirectHandle< JSObject > object,
DirectHandle< JSPrototype > proto )
static

Definition at line 3467 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetElementsTransitionMap()

DirectHandle< Map > v8::internal::JSObject::GetElementsTransitionMap ( DirectHandle< JSObject > object,
ElementsKind to_kind )
static

Definition at line 3485 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetEmbedderField()

Tagged< Object > v8::internal::JSObject::GetEmbedderField ( int index)
inline

Definition at line 349 of file js-objects-inl.h.

Here is the call graph for this function:

◆ GetEmbedderFieldCount() [1/2]

int v8::internal::JSObject::GetEmbedderFieldCount ( ) const
inline

Definition at line 339 of file js-objects-inl.h.

Here is the caller graph for this function:

◆ GetEmbedderFieldCount() [2/2]

int v8::internal::JSObject::GetEmbedderFieldCount ( Tagged< Map > map)
inlinestatic

Definition at line 325 of file js-objects-inl.h.

◆ GetEmbedderFieldOffset()

int v8::internal::JSObject::GetEmbedderFieldOffset ( int index)
inline

Definition at line 343 of file js-objects-inl.h.

◆ GetEmbedderFieldsStartOffset() [1/2]

int v8::internal::JSObject::GetEmbedderFieldsStartOffset ( )
inline

Definition at line 305 of file js-objects-inl.h.

Here is the caller graph for this function:

◆ GetEmbedderFieldsStartOffset() [2/2]

int v8::internal::JSObject::GetEmbedderFieldsStartOffset ( Tagged< Map > map)
inlinestatic

Definition at line 300 of file js-objects-inl.h.

◆ GetFastElementsUsage()

int v8::internal::JSObject::GetFastElementsUsage ( )

Definition at line 5571 of file js-objects.cc.

Here is the call graph for this function:

◆ GetHeaderSize() [1/2]

int v8::internal::JSObject::GetHeaderSize ( InstanceType instance_type,
bool function_has_prototype_slot = false )
static

Definition at line 2464 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetHeaderSize() [2/2]

int v8::internal::JSObject::GetHeaderSize ( Tagged< Map > map)
inlinestatic

Definition at line 289 of file js-objects-inl.h.

◆ GetInObjectPropertyOffset()

int v8::internal::JSObject::GetInObjectPropertyOffset ( int index)
inline

Definition at line 554 of file js-objects-inl.h.

◆ GetPropertyAttributesWithFailedAccessCheck()

Maybe< PropertyAttributes > v8::internal::JSObject::GetPropertyAttributesWithFailedAccessCheck ( LookupIterator * it)
static

Definition at line 2697 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetPropertyAttributesWithInterceptor()

Maybe< PropertyAttributes > v8::internal::JSObject::GetPropertyAttributesWithInterceptor ( LookupIterator * it)
static

Definition at line 3824 of file js-objects.cc.

Here is the caller graph for this function:

◆ GetPropertyWithFailedAccessCheck()

MaybeHandle< JSAny > v8::internal::JSObject::GetPropertyWithFailedAccessCheck ( LookupIterator * it)
staticprivate

Definition at line 2671 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetPropertyWithInterceptor()

MaybeHandle< JSAny > v8::internal::JSObject::GetPropertyWithInterceptor ( LookupIterator * it,
bool * done )
static

Definition at line 5612 of file js-objects.cc.

Here is the caller graph for this function:

◆ HasEnumerableElements()

bool v8::internal::JSObject::HasEnumerableElements ( )

Definition at line 4659 of file js-objects.cc.

Here is the call graph for this function:

◆ HasRealElementProperty()

Maybe< bool > v8::internal::JSObject::HasRealElementProperty ( Isolate * isolate,
DirectHandle< JSObject > object,
uint32_t index )
static

Definition at line 5626 of file js-objects.cc.

◆ HasRealNamedCallbackProperty()

Maybe< bool > v8::internal::JSObject::HasRealNamedCallbackProperty ( Isolate * isolate,
DirectHandle< JSObject > object,
DirectHandle< Name > name )
static

Definition at line 5634 of file js-objects.cc.

Here is the call graph for this function:

◆ HasRealNamedProperty()

Maybe< bool > v8::internal::JSObject::HasRealNamedProperty ( Isolate * isolate,
DirectHandle< JSObject > object,
DirectHandle< Name > name )
static

Definition at line 5618 of file js-objects.cc.

Here is the caller graph for this function:

◆ initialize_elements()

void v8::internal::JSObject::initialize_elements ( )
inline

Definition at line 275 of file js-objects-inl.h.

◆ InitializeBody()

void v8::internal::JSObject::InitializeBody ( Tagged< Map > map,
int start_offset,
bool is_slack_tracking_in_progress,
MapWord filler_map,
Tagged< Object > undefined_value )
inline

Definition at line 572 of file js-objects-inl.h.

Here is the call graph for this function:

◆ InObjectPropertyAt()

Tagged< Object > v8::internal::JSObject::InObjectPropertyAt ( int index)
inline

Definition at line 558 of file js-objects-inl.h.

◆ InObjectPropertyAtPut()

Tagged< Object > v8::internal::JSObject::InObjectPropertyAtPut ( int index,
Tagged< Object > value,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
inline

Definition at line 563 of file js-objects-inl.h.

◆ InvalidatePrototypeChains()

Tagged< Map > v8::internal::JSObject::InvalidatePrototypeChains ( Tagged< Map > map)
static

Definition at line 5211 of file js-objects.cc.

Here is the caller graph for this function:

◆ InvalidatePrototypeValidityCell()

void v8::internal::JSObject::InvalidatePrototypeValidityCell ( Tagged< JSGlobalObject > global)
static

Definition at line 5225 of file js-objects.cc.

Here is the caller graph for this function:

◆ IsDroppableApiObject() [1/2]

bool v8::internal::JSObject::IsDroppableApiObject ( ) const
inline

Definition at line 368 of file js-objects-inl.h.

Here is the caller graph for this function:

◆ IsDroppableApiObject() [2/2]

bool v8::internal::JSObject::IsDroppableApiObject ( Tagged< Map > map)
inlinestatic

Definition at line 362 of file js-objects-inl.h.

◆ IsExtensible()

bool v8::internal::JSObject::IsExtensible ( Isolate * isolate,
DirectHandle< JSObject > object )
static

Definition at line 4336 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsUnmodifiedApiObject()

bool v8::internal::JSObject::IsUnmodifiedApiObject ( FullObjectSlot o)
static

Definition at line 3026 of file js-objects.cc.

Here is the call graph for this function:

◆ JSObjectShortPrint()

void v8::internal::JSObject::JSObjectShortPrint ( StringStream * accumulator)

Definition at line 2830 of file js-objects.cc.

Here is the call graph for this function:

◆ LazyRegisterPrototypeUser()

void v8::internal::JSObject::LazyRegisterPrototypeUser ( DirectHandle< Map > user,
Isolate * isolate )
static

Definition at line 5038 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MakePrototypesFast()

void v8::internal::JSObject::MakePrototypesFast ( DirectHandle< Object > receiver,
WhereToStart where_to_start,
Isolate * isolate )
static

Definition at line 4896 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MayHaveEmbedderFields() [1/2]

bool v8::internal::JSObject::MayHaveEmbedderFields ( ) const
inline

Definition at line 320 of file js-objects-inl.h.

Here is the caller graph for this function:

◆ MayHaveEmbedderFields() [2/2]

bool v8::internal::JSObject::MayHaveEmbedderFields ( Tagged< Map > map)
inlinestatic

Definition at line 310 of file js-objects-inl.h.

◆ MigrateInstance()

void v8::internal::JSObject::MigrateInstance ( Isolate * isolate,
DirectHandle< JSObject > instance )
static

Definition at line 3549 of file js-objects.cc.

Here is the call graph for this function:

◆ MigrateSlowToFast()

void v8::internal::JSObject::MigrateSlowToFast ( DirectHandle< JSObject > object,
int unused_property_fields,
const char * reason )
static

Definition at line 3844 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MigrateToMap()

void v8::internal::JSObject::MigrateToMap ( Isolate * isolate,
DirectHandle< JSObject > object,
DirectHandle< Map > new_map,
int expected_additional_properties = 0 )
static

Definition at line 3423 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ New()

MaybeHandle< JSObject > v8::internal::JSObject::New ( DirectHandle< JSFunction > constructor,
DirectHandle< JSReceiver > new_target,
DirectHandle< AllocationSite > site,
NewJSObjectType new_js_object_type = NewJSObjectType::kNoAPIWrapper )
static

Definition at line 2384 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NewElementsCapacity()

static constexpr uint32_t v8::internal::JSObject::NewElementsCapacity ( uint32_t old_capacity)
inlinestaticconstexpr

Definition at line 652 of file js-objects.h.

◆ NewWithMap()

MaybeDirectHandle< JSObject > v8::internal::JSObject::NewWithMap ( Isolate * isolate,
DirectHandle< Map > initial_map,
DirectHandle< AllocationSite > site,
NewJSObjectType new_js_object_type = NewJSObjectType::kNoAPIWrapper )
static

Definition at line 2412 of file js-objects.cc.

Here is the caller graph for this function:

◆ NormalizeElements()

DirectHandle< NumberDictionary > v8::internal::JSObject::NormalizeElements ( DirectHandle< JSObject > object)
static

Definition at line 4063 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NormalizeProperties() [1/2]

void v8::internal::JSObject::NormalizeProperties ( Isolate * isolate,
DirectHandle< JSObject > object,
PropertyNormalizationMode mode,
int expected_additional_properties,
bool use_cache,
const char * reason )
static

Definition at line 3829 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NormalizeProperties() [2/2]

static V8_EXPORT_PRIVATE void v8::internal::JSObject::NormalizeProperties ( Isolate * isolate,
DirectHandle< JSObject > object,
PropertyNormalizationMode mode,
int expected_additional_properties,
const char * reason )
inlinestatic

Definition at line 740 of file js-objects.h.

Here is the call graph for this function:

◆ NotifyMapChange()

void v8::internal::JSObject::NotifyMapChange ( DirectHandle< Map > old_map,
DirectHandle< Map > new_map,
Isolate * isolate )
static

Definition at line 3071 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ObjectCreate()

MaybeDirectHandle< JSObject > v8::internal::JSObject::ObjectCreate ( Isolate * isolate,
DirectHandle< JSPrototype > prototype )
static

Definition at line 2425 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OptimizeAsPrototype()

void v8::internal::JSObject::OptimizeAsPrototype ( DirectHandle< JSObject > object,
bool enable_setup_mode = true )
static

Definition at line 4930 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PreventExtensions()

Maybe< bool > v8::internal::JSObject::PreventExtensions ( Isolate * isolate,
DirectHandle< JSObject > object,
ShouldThrow should_throw )
static

Definition at line 4282 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PreventExtensionsWithTransition() [1/2]

template<PropertyAttributes attrs>
Maybe< bool > v8::internal::JSObject::PreventExtensionsWithTransition ( Isolate * isolate,
DirectHandle< JSObject > object,
ShouldThrow should_throw )

Definition at line 4403 of file js-objects.cc.

Here is the call graph for this function:

◆ PreventExtensionsWithTransition() [2/2]

template<PropertyAttributes attrs>
static V8_WARN_UNUSED_RESULT Maybe< bool > v8::internal::JSObject::PreventExtensionsWithTransition ( Isolate * isolate,
DirectHandle< JSObject > object,
ShouldThrow should_throw )
staticprivate
Here is the caller graph for this function:

◆ PrintElementsTransition()

void v8::internal::JSObject::PrintElementsTransition ( FILE * file,
DirectHandle< JSObject > object,
ElementsKind from_kind,
DirectHandle< FixedArrayBase > from_elements,
ElementsKind to_kind,
DirectHandle< FixedArrayBase > to_elements )
static

Definition at line 2972 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintInstanceMigration()

void v8::internal::JSObject::PrintInstanceMigration ( FILE * file,
Tagged< Map > original_map,
Tagged< Map > new_map )

Definition at line 2991 of file js-objects.cc.

Here is the call graph for this function:

◆ PrototypeHasNoElements()

bool v8::internal::JSObject::PrototypeHasNoElements ( Isolate * isolate,
Tagged< JSObject > object )
inlinestatic

Definition at line 138 of file js-objects-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrototypeRegistryCompactionCallback()

void v8::internal::JSObject::PrototypeRegistryCompactionCallback ( Tagged< HeapObject > value,
int old_index,
int new_index )
static

Definition at line 4884 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RawFastInobjectPropertyAtCompareAndSwap()

Tagged< Object > v8::internal::JSObject::RawFastInobjectPropertyAtCompareAndSwap ( FieldIndex index,
Tagged< Object > expected,
Tagged< Object > value,
SeqCstAccessTag tag )
inline

Definition at line 530 of file js-objects-inl.h.

Here is the call graph for this function:

◆ RawFastInobjectPropertyAtPut() [1/2]

void v8::internal::JSObject::RawFastInobjectPropertyAtPut ( FieldIndex index,
Tagged< Object > value,
SeqCstAccessTag tag )
inline

Definition at line 454 of file js-objects-inl.h.

Here is the call graph for this function:

◆ RawFastInobjectPropertyAtPut() [2/2]

void v8::internal::JSObject::RawFastInobjectPropertyAtPut ( FieldIndex index,
Tagged< Object > value,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
inline

Definition at line 445 of file js-objects-inl.h.

◆ RawFastInobjectPropertyAtSwap()

Tagged< Object > v8::internal::JSObject::RawFastInobjectPropertyAtSwap ( FieldIndex index,
Tagged< Object > value,
SeqCstAccessTag tag )
inline

Definition at line 510 of file js-objects-inl.h.

Here is the call graph for this function:

◆ RawFastPropertyAt() [1/4]

Tagged< JSAny > v8::internal::JSObject::RawFastPropertyAt ( FieldIndex index) const
inline

Definition at line 375 of file js-objects-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RawFastPropertyAt() [2/4]

Tagged< JSAny > v8::internal::JSObject::RawFastPropertyAt ( FieldIndex index,
SeqCstAccessTag tag ) const
inline

Definition at line 392 of file js-objects-inl.h.

Here is the call graph for this function:

◆ RawFastPropertyAt() [3/4]

Tagged< JSAny > v8::internal::JSObject::RawFastPropertyAt ( PtrComprCageBase cage_base,
FieldIndex index ) const
inline

Definition at line 380 of file js-objects-inl.h.

◆ RawFastPropertyAt() [4/4]

Tagged< JSAny > v8::internal::JSObject::RawFastPropertyAt ( PtrComprCageBase cage_base,
FieldIndex index,
SeqCstAccessTag tag ) const
inline

Definition at line 398 of file js-objects-inl.h.

◆ RawFastPropertyAtCompareAndSwap()

Tagged< Object > v8::internal::JSObject::RawFastPropertyAtCompareAndSwap ( FieldIndex index,
Tagged< Object > expected,
Tagged< Object > value,
SeqCstAccessTag tag )

Definition at line 5643 of file js-objects.cc.

Here is the call graph for this function:

◆ RawFastPropertyAtCompareAndSwapInternal()

Tagged< Object > v8::internal::JSObject::RawFastPropertyAtCompareAndSwapInternal ( FieldIndex index,
Tagged< Object > expected,
Tagged< Object > value,
SeqCstAccessTag tag )
inlineprivate

Definition at line 544 of file js-objects-inl.h.

Here is the caller graph for this function:

◆ RawFastPropertyAtSwap()

Tagged< Object > v8::internal::JSObject::RawFastPropertyAtSwap ( FieldIndex index,
Tagged< Object > value,
SeqCstAccessTag tag )
inline

Definition at line 521 of file js-objects-inl.h.

◆ RawInobjectPropertyAt()

std::optional< Tagged< Object > > v8::internal::JSObject::RawInobjectPropertyAt ( PtrComprCageBase cage_base,
Tagged< Map > original_map,
FieldIndex index ) const
inline

Definition at line 409 of file js-objects-inl.h.

◆ ReadFromOptionsBag()

MaybeDirectHandle< Object > v8::internal::JSObject::ReadFromOptionsBag ( DirectHandle< Object > options,
DirectHandle< String > option_name,
Isolate * isolate )
static

Definition at line 4351 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReferencesObject()

bool v8::internal::JSObject::ReferencesObject ( Tagged< Object > obj)

◆ ReferencesObjectFromElements()

bool v8::internal::JSObject::ReferencesObjectFromElements ( Tagged< FixedArray > elements,
ElementsKind kind,
Tagged< Object > object )
private

◆ ReoptimizeIfPrototype()

void v8::internal::JSObject::ReoptimizeIfPrototype ( DirectHandle< JSObject > object)
static

Definition at line 5028 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RequireSlowElements()

void v8::internal::JSObject::RequireSlowElements ( Tagged< NumberDictionary > dictionary)

Definition at line 4051 of file js-objects.cc.

Here is the call graph for this function:

◆ set_elements()

void v8::internal::JSObject::set_elements ( Tagged< FixedArrayBase > value,
ReleaseStoreTag tag,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
delete

Definition at line 78 of file js-objects-inl.h.

◆ SetAccessor()

MaybeDirectHandle< Object > v8::internal::JSObject::SetAccessor ( DirectHandle< JSObject > object,
DirectHandle< Name > name,
DirectHandle< AccessorInfo > info,
PropertyAttributes attributes )
static

Definition at line 4784 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetEmbedderField() [1/2]

void v8::internal::JSObject::SetEmbedderField ( int index,
Tagged< Object > value )
inline

Definition at line 353 of file js-objects-inl.h.

◆ SetEmbedderField() [2/2]

void v8::internal::JSObject::SetEmbedderField ( int index,
Tagged< Smi > value )
inline

Definition at line 357 of file js-objects-inl.h.

Here is the call graph for this function:

◆ SetImmutableProto()

void v8::internal::JSObject::SetImmutableProto ( Isolate * isolate,
DirectHandle< JSObject > object )
static

Definition at line 5332 of file js-objects.cc.

Here is the call graph for this function:

◆ SetMapAndElements()

void v8::internal::JSObject::SetMapAndElements ( DirectHandle< JSObject > object,
DirectHandle< Map > map,
DirectHandle< FixedArrayBase > elements )
inlinestatic

Definition at line 259 of file js-objects-inl.h.

◆ SetNormalizedElement()

void v8::internal::JSObject::SetNormalizedElement ( DirectHandle< JSObject > object,
uint32_t index,
DirectHandle< Object > value,
PropertyDetails details )
static

Definition at line 2816 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetNormalizedProperty()

void v8::internal::JSObject::SetNormalizedProperty ( DirectHandle< JSObject > object,
DirectHandle< Name > name,
DirectHandle< Object > value,
PropertyDetails details )
static

Definition at line 2744 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetOwnElementIgnoreAttributes()

MaybeDirectHandle< Object > v8::internal::JSObject::SetOwnElementIgnoreAttributes ( DirectHandle< JSObject > object,
size_t index,
DirectHandle< Object > value,
PropertyAttributes attributes )
static

Definition at line 3806 of file js-objects.cc.

Here is the call graph for this function:

◆ SetOwnPropertyIgnoreAttributes()

MaybeDirectHandle< Object > v8::internal::JSObject::SetOwnPropertyIgnoreAttributes ( DirectHandle< JSObject > object,
DirectHandle< Name > name,
DirectHandle< Object > value,
PropertyAttributes attributes )
static

Definition at line 3797 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetPropertyWithFailedAccessCheck()

Maybe< bool > v8::internal::JSObject::SetPropertyWithFailedAccessCheck ( LookupIterator * it,
DirectHandle< Object > value,
Maybe< ShouldThrow > should_throw )
staticprivate

Definition at line 2714 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetPropertyWithInterceptor()

Maybe< InterceptorResult > v8::internal::JSObject::SetPropertyWithInterceptor ( LookupIterator * it,
Maybe< ShouldThrow > should_throw,
DirectHandle< Object > value )
static

Definition at line 3477 of file js-objects.cc.

Here is the caller graph for this function:

◆ SetPrototype()

Maybe< bool > v8::internal::JSObject::SetPrototype ( Isolate * isolate,
DirectHandle< JSObject > object,
DirectHandle< Object > value,
bool from_javascript,
ShouldThrow should_throw )
static

Definition at line 5230 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SlowReverseLookup()

Tagged< Object > v8::internal::JSObject::SlowReverseLookup ( Tagged< Object > value)

Definition at line 4844 of file js-objects.cc.

Here is the call graph for this function:

◆ TestIntegrityLevel()

Maybe< bool > v8::internal::JSObject::TestIntegrityLevel ( Isolate * isolate,
DirectHandle< JSObject > object,
IntegrityLevel lvl )
static

Definition at line 4272 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TransitionElementsKind()

void v8::internal::JSObject::TransitionElementsKind ( DirectHandle< JSObject > object,
ElementsKind to_kind )
static

Definition at line 5512 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TryMigrateInstance()

bool v8::internal::JSObject::TryMigrateInstance ( Isolate * isolate,
DirectHandle< JSObject > instance )
static

Definition at line 3566 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UnregisterPrototypeUser()

bool v8::internal::JSObject::UnregisterPrototypeUser ( DirectHandle< Map > user,
Isolate * isolate )
static

Definition at line 5094 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateAllocationSite()

template<AllocationSiteUpdateMode update_or_check>
bool v8::internal::JSObject::UpdateAllocationSite ( DirectHandle< JSObject > object,
ElementsKind to_kind )
static

Definition at line 5480 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdatePrototypeUserRegistration()

void v8::internal::JSObject::UpdatePrototypeUserRegistration ( DirectHandle< Map > old_map,
DirectHandle< Map > new_map,
Isolate * isolate )
static

Definition at line 3045 of file js-objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ValidateElements()

void v8::internal::JSObject::ValidateElements ( Tagged< JSObject > object)
static

Definition at line 5351 of file js-objects.cc.

Here is the caller graph for this function:

◆ WouldConvertToSlowElements()

bool v8::internal::JSObject::WouldConvertToSlowElements ( uint32_t index)

Definition at line 5359 of file js-objects.cc.

Here is the call graph for this function:

◆ WriteToField()

void v8::internal::JSObject::WriteToField ( InternalIndex descriptor,
PropertyDetails details,
Tagged< Object > value )
inline

Definition at line 482 of file js-objects-inl.h.

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ JSReceiver

friend class JSReceiver
friend

Definition at line 992 of file js-objects.h.

◆ Object

friend class Object
friend

Definition at line 993 of file js-objects.h.

Member Data Documentation

◆ kFieldsAdded

const int v8::internal::JSObject::kFieldsAdded = 3
static

Definition at line 954 of file js-objects.h.

◆ kInitialGlobalObjectUnusedPropertiesCount

const int v8::internal::JSObject::kInitialGlobalObjectUnusedPropertiesCount = 4
static

Definition at line 943 of file js-objects.h.

◆ kMapCacheSize

const int v8::internal::JSObject::kMapCacheSize = 128
static

Definition at line 949 of file js-objects.h.

◆ kMaxElementCount

uint32_t v8::internal::JSObject::kMaxElementCount = kMaxUInt32
staticconstexpr

Definition at line 923 of file js-objects.h.

◆ kMaxElementIndex

uint32_t v8::internal::JSObject::kMaxElementIndex = kMaxElementCount - 1
staticconstexpr

Definition at line 924 of file js-objects.h.

◆ kMaxEmbedderFields

const int v8::internal::JSObject::kMaxEmbedderFields
static
Initial value:
=
static const int kMaxFirstInobjectPropertyOffset
Definition js-objects.h:963
constexpr int kEmbedderDataSlotSize
Definition globals.h:664

Definition at line 965 of file js-objects.h.

◆ kMaxFirstInobjectPropertyOffset

const int v8::internal::JSObject::kMaxFirstInobjectPropertyOffset
static
Initial value:
=
static const int kFirstInobjectPropertyOffsetBitCount

Definition at line 963 of file js-objects.h.

◆ kMaxGap

const uint32_t v8::internal::JSObject::kMaxGap = 1024
static

Definition at line 931 of file js-objects.h.

◆ kMaxInObjectProperties

const int v8::internal::JSObject::kMaxInObjectProperties
static
Initial value:
=
(kMaxInstanceSize - kHeaderSize) >> kTaggedSizeLog2
static const int kMaxInstanceSize
Definition js-objects.h:945
constexpr int kTaggedSizeLog2
Definition globals.h:543

Definition at line 959 of file js-objects.h.

◆ kMaxInstanceSize

const int v8::internal::JSObject::kMaxInstanceSize = 255 * kTaggedSize
static

Definition at line 945 of file js-objects.h.

◆ kMaxJSApiObjectEmbedderFields

int v8::internal::JSObject::kMaxJSApiObjectEmbedderFields
staticconstexpr
Initial value:

Definition at line 974 of file js-objects.h.

◆ kMaxJSApiObjectInObjectProperties

int v8::internal::JSObject::kMaxJSApiObjectInObjectProperties
staticconstexpr
Initial value:

Definition at line 971 of file js-objects.h.

◆ kMaxUncheckedFastElementsLength

const int v8::internal::JSObject::kMaxUncheckedFastElementsLength = 5000
static

Definition at line 935 of file js-objects.h.

◆ kMaxUncheckedOldFastElementsLength

const int v8::internal::JSObject::kMaxUncheckedOldFastElementsLength = 500
static

Definition at line 939 of file js-objects.h.

◆ kMinAddedElementsCapacity

const uint32_t v8::internal::JSObject::kMinAddedElementsCapacity = 16
static

Definition at line 649 of file js-objects.h.


The documentation for this class was generated from the following files: