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

#include <map.h>

Inheritance diagram for v8::internal::Map:
Collaboration diagram for v8::internal::Map:

Classes

struct  Bits1
 
struct  Bits2
 
struct  Bits3
 
class  BodyDescriptor
 
class  FieldCounts
 

Public Member Functions

int GetInObjectPropertiesStartInWords () const
 
void SetInObjectPropertiesStartInWords (int value)
 
int GetInObjectProperties () const
 
int GetConstructorFunctionIndex () const
 
void SetConstructorFunctionIndex (int value)
 
int UsedInstanceSize () const
 
bool HasOutOfObjectProperties () const
 
int UnusedPropertyFields () const
 
int UnusedInObjectProperties () const
 
void SetInObjectUnusedPropertyFields (int unused_property_fields)
 
void SetOutOfObjectUnusedPropertyFields (int unused_property_fields)
 
void CopyUnusedPropertyFields (Tagged< Map > map)
 
void CopyUnusedPropertyFieldsAdjustedForInstanceSize (Tagged< Map > map)
 
void AccountAddedPropertyField ()
 
void AccountAddedOutOfObjectPropertyField (int unused_in_property_array)
 
V8_INLINE void clear_padding ()
 
void StartInobjectSlackTracking ()
 
bool IsInobjectSlackTrackingInProgress () const
 
void InobjectSlackTrackingStep (Isolate *isolate)
 
int ComputeMinObjectSlack (Isolate *isolate)
 
int InstanceSizeFromSlack (int slack) const
 
bool is_abandoned_prototype_map () const
 
bool has_prototype_info () const
 
bool TryGetPrototypeInfo (Tagged< PrototypeInfo > *result) const
 
bool has_fast_smi_elements () const
 
bool has_fast_object_elements () const
 
bool has_fast_smi_or_object_elements () const
 
bool has_fast_double_elements () const
 
bool has_fast_elements () const
 
bool has_fast_packed_elements () const
 
bool has_sloppy_arguments_elements () const
 
bool has_fast_sloppy_arguments_elements () const
 
bool has_fast_string_wrapper_elements () const
 
bool has_typed_array_or_rab_gsab_typed_array_elements () const
 
bool has_any_typed_array_or_wasm_array_elements () const
 
bool has_dictionary_elements () const
 
bool has_any_nonextensible_elements () const
 
bool has_nonextensible_elements () const
 
bool has_sealed_elements () const
 
bool has_frozen_elements () const
 
bool has_shared_array_elements () const
 
bool IsDetached (Isolate *isolate) const
 
bool ShouldCheckForReadOnlyElementsInPrototypeChain (Isolate *isolate)
 
Tagged< MapElementsTransitionMap (Isolate *isolate, ConcurrencyMode cmode)
 
Tagged< FixedArrayBaseGetInitialElements () const
 
 DECL_ACCESSORS (raw_transitions, Tagged< UnionOf< Smi, MaybeWeak< Map >, TransitionArray > >) DECL_RELEASE_ACQUIRE_ACCESSORS(raw_transitions
 
Tagged< UnionOf< Smi, MaybeWeak< Map >, TransitionArray > > DECL_RELEASE_ACQUIRE_ACCESSORS (prototype_info, Tagged< UnionOf< Smi, PrototypeInfo > >) static DirectHandle< PrototypeInfo > GetOrCreatePrototypeInfo(DirectHandle< JSObject > prototype
 
bool should_be_fast_prototype_map () const
 
Tagged< MapGetPrototypeChainRootMap (Isolate *isolate) const
 
V8_EXPORT_PRIVATE Tagged< MapFindRootMap (PtrComprCageBase cage_base) const
 
V8_EXPORT_PRIVATE Tagged< MapFindFieldOwner (PtrComprCageBase cage_base, InternalIndex descriptor) const
 
int GetInObjectPropertyOffset (int index) const
 
FieldCounts GetFieldCounts () const
 
int NumberOfFields (ConcurrencyMode cmode) const
 
bool InstancesNeedRewriting (Tagged< Map > target, ConcurrencyMode cmode) const
 
bool InstancesNeedRewriting (Tagged< Map > target, int target_number_of_fields, int target_inobject, int target_unused, int *old_number_of_fields, ConcurrencyMode cmode) const
 
void init_prototype_and_constructor_or_back_pointer (ReadOnlyRoots roots)
 
void SetConstructor (Tagged< Object > constructor, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
Tagged< ObjectTryGetConstructor (PtrComprCageBase cage_base, int max_steps)
 
void SetBackPointer (Tagged< HeapObject > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
bool TryGetBackPointer (PtrComprCageBase cage_base, Tagged< Map > *back_pointer) const
 
V8_EXPORT_PRIVATE void SetInstanceDescriptors (Isolate *isolate, Tagged< DescriptorArray > descriptors, int number_of_own_descriptors, WriteBarrierMode barrier_mode=UPDATE_WRITE_BARRIER)
 
void UpdateDescriptors (Isolate *isolate, Tagged< DescriptorArray > descriptors, int number_of_own_descriptors)
 
void InitializeDescriptors (Isolate *isolate, Tagged< DescriptorArray > descriptors)
 
bool IsPrototypeValidityCellValid () const
 
bool BelongsToSameNativeContextAs (Tagged< Map > other_map) const
 
bool BelongsToSameNativeContextAs (Tagged< Context > context) const
 
Tagged< NameGetLastDescriptorName (Isolate *isolate) const
 
PropertyDetails GetLastDescriptorDetails (Isolate *isolate) const
 
InternalIndex LastAdded () const
 
int NumberOfOwnDescriptors () const
 
void SetNumberOfOwnDescriptors (int number)
 
InternalIndex::Range IterateOwnDescriptors () const
 
Tagged< CellRetrieveDescriptorsPointer ()
 
bool OnlyHasSimpleProperties () const
 
int EnumLength () const
 
void SetEnumLength (int length)
 
void mark_unstable ()
 
bool is_stable () const
 
bool CanBeDeprecated () const
 
bool TooManyFastProperties (StoreOrigin store_origin) const
 
void AppendDescriptor (Isolate *isolate, Descriptor *desc)
 
int NextFreePropertyIndex () const
 
int NumberOfEnumerableProperties () const
 
int Hash (Isolate *isolate, Tagged< HeapObject > prototype)
 
V8_EXPORT_PRIVATE Tagged< MapFindElementsKindTransitionedMap (Isolate *isolate, MapHandlesSpan candidates, ConcurrencyMode cmode)
 
bool CanTransition () const
 
bool IsMapInArrayPrototypeChain (Isolate *isolate) const
 
void MapPrint (std::ostream &os)
 
bool EquivalentToForNormalization (const Tagged< Map > other, ElementsKind elements_kind, Tagged< HeapObject > prototype, PropertyNormalizationMode mode) const
 
bool EquivalentToForNormalization (const Tagged< Map > other, PropertyNormalizationMode mode) const
 
void PrintMapDetails (std::ostream &os)
 
void NotifyLeafMapLayoutChange (Isolate *isolate)
 
bool CanHaveFastTransitionableElementsKind () const
 
uint8_t WasmByte1 () const
 
uint8_t WasmByte2 () const
 
void SetWasmByte1 (uint8_t value)
 
void SetWasmByte2 (uint8_t value)
 

Static Public Member Functions

static std::optional< Tagged< JSFunction > > GetConstructorFunction (Tagged< Map > map, Tagged< Context > native_context)
 
static DirectHandle< PrototypeInfoGetOrCreatePrototypeInfo (DirectHandle< Map > prototype_map, Isolate *isolate)
 
static void SetShouldBeFastPrototypeMap (DirectHandle< Map > map, bool value, Isolate *isolate)
 
static Handle< UnionOf< Smi, Cell > > GetOrCreatePrototypeChainValidityCell (DirectHandle< Map > map, Isolate *isolate)
 
static bool IsPrototypeChainInvalidated (Tagged< Map > map)
 
static bool IsMostGeneralFieldType (Representation representation, Tagged< FieldType > field_type)
 
static void GeneralizeIfCanHaveTransitionableFastElementsKind (Isolate *isolate, InstanceType instance_type, Representation *representation, DirectHandle< FieldType > *field_type)
 
static V8_EXPORT_PRIVATE DirectHandle< MapPrepareForDataProperty (Isolate *isolate, DirectHandle< Map > old_map, InternalIndex descriptor_number, PropertyConstness constness, DirectHandle< Object > value)
 
static V8_EXPORT_PRIVATE Handle< MapNormalize (Isolate *isolate, DirectHandle< Map > map, ElementsKind new_elements_kind, DirectHandle< JSPrototype > new_prototype, PropertyNormalizationMode mode, bool use_cache, const char *reason)
 
static V8_EXPORT_PRIVATE Handle< MapNormalize (Isolate *isolate, DirectHandle< Map > map, ElementsKind new_elements_kind, DirectHandle< JSPrototype > new_prototype, PropertyNormalizationMode mode, const char *reason)
 
static Handle< MapNormalize (Isolate *isolate, DirectHandle< Map > fast_map, PropertyNormalizationMode mode, const char *reason)
 
static V8_EXPORT_PRIVATE void SetPrototype (Isolate *isolate, DirectHandle< Map > map, DirectHandle< JSPrototype > prototype, bool enable_prototype_setup_mode=true)
 
static V8_EXPORT_PRIVATE MaybeHandle< MapTryUpdate (Isolate *isolate, Handle< Map > map) V8_WARN_UNUSED_RESULT
 
static V8_EXPORT_PRIVATE DirectHandle< MapUpdate (Isolate *isolate, DirectHandle< Map > map)
 
static Handle< MapCopyInitialMap (Isolate *isolate, DirectHandle< Map > map)
 
static V8_EXPORT_PRIVATE Handle< MapCopyInitialMap (Isolate *isolate, DirectHandle< Map > map, int instance_size, int in_object_properties, int unused_property_fields)
 
static DirectHandle< MapCopyInitialMapNormalized (Isolate *isolate, DirectHandle< Map > map, PropertyNormalizationMode mode=CLEAR_INOBJECT_PROPERTIES)
 
static Handle< MapCopyDropDescriptors (Isolate *isolate, DirectHandle< Map > map)
 
static V8_EXPORT_PRIVATE Handle< MapCopyInsertDescriptor (Isolate *isolate, DirectHandle< Map > map, Descriptor *descriptor, TransitionFlag flag)
 
static MaybeObjectDirectHandle WrapFieldType (DirectHandle< FieldType > type)
 
static V8_EXPORT_PRIVATE Tagged< FieldTypeUnwrapFieldType (Tagged< MaybeObject > wrapped_type)
 
V8_EXPORT_PRIVATE static V8_WARN_UNUSED_RESULT MaybeHandle< MapCopyWithField (Isolate *isolate, DirectHandle< Map > map, DirectHandle< Name > name, DirectHandle< FieldType > type, PropertyAttributes attributes, PropertyConstness constness, Representation representation, TransitionFlag flag)
 
V8_EXPORT_PRIVATE static V8_WARN_UNUSED_RESULT MaybeHandle< MapCopyWithConstant (Isolate *isolate, DirectHandle< Map > map, DirectHandle< Name > name, DirectHandle< Object > constant, PropertyAttributes attributes, TransitionFlag flag)
 
static DirectHandle< MapTransitionElementsTo (Isolate *isolate, DirectHandle< Map > map, ElementsKind to_kind)
 
static std::optional< Tagged< Map > > TryAsElementsKind (Isolate *isolate, DirectHandle< Map > map, ElementsKind kind, ConcurrencyMode cmode)
 
static V8_EXPORT_PRIVATE Handle< MapAsElementsKind (Isolate *isolate, DirectHandle< Map > map, ElementsKind kind)
 
static Handle< MapCopyAsElementsKind (Isolate *isolate, DirectHandle< Map > map, ElementsKind kind, TransitionFlag flag)
 
static DirectHandle< MapAsLanguageMode (Isolate *isolate, DirectHandle< Map > initial_map, DirectHandle< SharedFunctionInfo > shared_info)
 
static V8_EXPORT_PRIVATE Handle< MapCopyForPreventExtensions (Isolate *isolate, DirectHandle< Map > map, PropertyAttributes attrs_to_add, DirectHandle< Symbol > transition_marker, const char *reason, bool old_map_is_dictionary_elements_kind=false)
 
static V8_EXPORT_PRIVATE DirectHandle< MapTransitionToDataProperty (Isolate *isolate, DirectHandle< Map > map, DirectHandle< Name > name, DirectHandle< Object > value, PropertyAttributes attributes, PropertyConstness constness, StoreOrigin store_origin)
 
static V8_EXPORT_PRIVATE DirectHandle< MapTransitionToAccessorProperty (Isolate *isolate, DirectHandle< Map > map, DirectHandle< Name > name, InternalIndex descriptor, DirectHandle< Object > getter, DirectHandle< Object > setter, PropertyAttributes attributes)
 
static Handle< MapCopyForElementsTransition (Isolate *isolate, DirectHandle< Map > map)
 
static Handle< MapCopyForPrototypeTransition (Isolate *isolate, DirectHandle< Map > map, DirectHandle< JSPrototype > prototype)
 
static Handle< MapCopy (Isolate *isolate, DirectHandle< Map > map, const char *reason, TransitionKindFlag kind=SPECIAL_TRANSITION)
 
static V8_EXPORT_PRIVATE Handle< MapCreate (Isolate *isolate, int inobject_properties)
 
static int SlackForArraySize (int old_size, int size_limit)
 
static V8_EXPORT_PRIVATE void EnsureDescriptorSlack (Isolate *isolate, DirectHandle< Map > map, int slack)
 
static DirectHandle< MapGetObjectCreateMap (Isolate *isolate, DirectHandle< JSPrototype > prototype)
 
static Handle< MapGetDerivedMap (Isolate *isolate, DirectHandle< Map > from, DirectHandle< JSReceiver > prototype)
 
static constexpr std::optional< RootIndexTryGetMapRootIdxFor (InstanceType type)
 
static Tagged< MapGetMapFor (ReadOnlyRoots roots, InstanceType type)
 
static constexpr ObjectFields ObjectFieldsFrom (VisitorId visitor_id)
 
static V8_EXPORT_PRIVATE Handle< MapTransitionRootMapToPrototypeForNewObject (Isolate *isolate, DirectHandle< Map > map, DirectHandle< JSPrototype > prototype)
 
static V8_EXPORT_PRIVATE Handle< MapTransitionToUpdatePrototype (Isolate *isolate, DirectHandle< Map > map, DirectHandle< JSPrototype > prototype)
 
static DirectHandle< MapTransitionToImmutableProto (Isolate *isolate, DirectHandle< Map > map)
 
static DirectHandle< MapAddMissingTransitionsForTesting (Isolate *isolate, DirectHandle< Map > split_map, DirectHandle< DescriptorArray > descriptors)
 
static V8_EXPORT_PRIVATE VisitorId GetVisitorId (Tagged< Map > map)
 
static bool CanHaveFastTransitionableElementsKind (InstanceType instance_type)
 

Public Attributes

Tagged< UnionOf< Smi, MaybeWeak< Map >, TransitionArray > > Isolateisolate
 

Static Public Attributes

static const int kNoConstructorFunctionIndex = 0
 
static const int kSlackTrackingCounterStart = 7
 
static const int kSlackTrackingCounterEnd = 1
 
static const int kNoSlackTracking = 0
 
static const int kGenerousAllocationCount
 
static constexpr int kPrototypeChainValid = 0
 
static constexpr int kPrototypeChainInvalid = 1
 
static constexpr Tagged< SmikPrototypeChainValidSmi = Smi::zero()
 

Private Member Functions

Tagged< MapLookupElementsTransitionMap (Isolate *isolate, ElementsKind elements_kind, ConcurrencyMode cmode)
 
Tagged< MapTryReplayPropertyTransitions (Isolate *isolate, Tagged< Map > map, ConcurrencyMode cmode)
 
bool EquivalentToForTransition (const Tagged< Map > other, ConcurrencyMode cmode, DirectHandle< HeapObject > new_prototype={}) const
 
bool EquivalentToForElementsKindTransition (const Tagged< Map > other, ConcurrencyMode cmode) const
 
void DeprecateTransitionTree (Isolate *isolate)
 
void ReplaceDescriptors (Isolate *isolate, Tagged< DescriptorArray > new_descriptors)
 

Static Private Member Functions

static void ConnectTransition (Isolate *isolate, DirectHandle< Map > parent, DirectHandle< Map > child, DirectHandle< Name > name, TransitionKindFlag transition_kind, bool force_connect=false)
 
static Handle< MapRawCopy (Isolate *isolate, DirectHandle< Map > map, int instance_size, int inobject_properties)
 
static Handle< MapShareDescriptor (Isolate *isolate, DirectHandle< Map > map, DirectHandle< DescriptorArray > descriptors, Descriptor *descriptor)
 
static V8_EXPORT_PRIVATE Handle< MapAddMissingTransitions (Isolate *isolate, DirectHandle< Map > map, DirectHandle< DescriptorArray > descriptors)
 
static void InstallDescriptors (Isolate *isolate, DirectHandle< Map > parent_map, DirectHandle< Map > child_map, InternalIndex new_descriptor, DirectHandle< DescriptorArray > descriptors, bool force_connect=false)
 
static Handle< MapCopyAddDescriptor (Isolate *isolate, DirectHandle< Map > map, Descriptor *descriptor, TransitionFlag flag)
 
static Handle< MapCopyReplaceDescriptors (Isolate *isolate, DirectHandle< Map > map, DirectHandle< DescriptorArray > descriptors, TransitionFlag flag, MaybeDirectHandle< Name > maybe_name, const char *reason, TransitionKindFlag transition_kind)
 
static Handle< MapCopyReplaceDescriptor (Isolate *isolate, DirectHandle< Map > map, DirectHandle< DescriptorArray > descriptors, Descriptor *descriptor, InternalIndex index, TransitionFlag flag)
 
static Handle< MapCopyNormalized (Isolate *isolate, DirectHandle< Map > map, PropertyNormalizationMode mode)
 
static V8_INLINE bool ConcurrentIsHeapObjectWithMap (PtrComprCageBase cage_base, Tagged< Object > object, Tagged< Map > meta_map)
 

Friends

class MapUpdater
 
template<typename ConcreteVisitor >
class MarkingVisitorBase
 

Detailed Description

Definition at line 234 of file map.h.

Member Function Documentation

◆ AccountAddedOutOfObjectPropertyField()

void v8::internal::Map::AccountAddedOutOfObjectPropertyField ( int unused_in_property_array)
inline

Definition at line 500 of file map-inl.h.

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

◆ AccountAddedPropertyField()

void v8::internal::Map::AccountAddedPropertyField ( )
inline

Definition at line 479 of file map-inl.h.

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

◆ AddMissingTransitions()

Handle< Map > v8::internal::Map::AddMissingTransitions ( Isolate * isolate,
DirectHandle< Map > map,
DirectHandle< DescriptorArray > descriptors )
staticprivate

Definition at line 1618 of file map.cc.

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

◆ AddMissingTransitionsForTesting()

DirectHandle< Map > v8::internal::Map::AddMissingTransitionsForTesting ( Isolate * isolate,
DirectHandle< Map > split_map,
DirectHandle< DescriptorArray > descriptors )
inlinestatic

Definition at line 367 of file map-inl.h.

Here is the call graph for this function:

◆ AppendDescriptor()

void v8::internal::Map::AppendDescriptor ( Isolate * isolate,
Descriptor * desc )
inline

Definition at line 777 of file map-inl.h.

Here is the call graph for this function:

◆ AsElementsKind()

Handle< Map > v8::internal::Map::AsElementsKind ( Isolate * isolate,
DirectHandle< Map > map,
ElementsKind kind )
static

Definition at line 1163 of file map.cc.

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

◆ AsLanguageMode()

DirectHandle< Map > v8::internal::Map::AsLanguageMode ( Isolate * isolate,
DirectHandle< Map > initial_map,
DirectHandle< SharedFunctionInfo > shared_info )
static

Definition at line 1734 of file map.cc.

Here is the call graph for this function:

◆ BelongsToSameNativeContextAs() [1/2]

bool v8::internal::Map::BelongsToSameNativeContextAs ( Tagged< Context > context) const
inline

Definition at line 922 of file map-inl.h.

Here is the call graph for this function:

◆ BelongsToSameNativeContextAs() [2/2]

bool v8::internal::Map::BelongsToSameNativeContextAs ( Tagged< Map > other_map) const
inline

Definition at line 913 of file map-inl.h.

Here is the call graph for this function:

◆ CanBeDeprecated()

bool v8::internal::Map::CanBeDeprecated ( ) const
inline

Definition at line 709 of file map-inl.h.

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

◆ CanHaveFastTransitionableElementsKind() [1/2]

bool v8::internal::Map::CanHaveFastTransitionableElementsKind ( ) const
inline

Definition at line 169 of file map-inl.h.

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

◆ CanHaveFastTransitionableElementsKind() [2/2]

bool v8::internal::Map::CanHaveFastTransitionableElementsKind ( InstanceType instance_type)
inlinestatic

Definition at line 163 of file map-inl.h.

◆ CanTransition()

bool v8::internal::Map::CanTransition ( ) const
inline

Definition at line 729 of file map-inl.h.

Here is the call graph for this function:

◆ clear_padding()

void v8::internal::Map::clear_padding ( )

Definition at line 770 of file map-inl.h.

◆ ComputeMinObjectSlack()

int v8::internal::Map::ComputeMinObjectSlack ( Isolate * isolate)

Definition at line 2350 of file map.cc.

Here is the call graph for this function:

◆ ConcurrentIsHeapObjectWithMap()

bool v8::internal::Map::ConcurrentIsHeapObjectWithMap ( PtrComprCageBase cage_base,
Tagged< Object > object,
Tagged< Map > meta_map )
staticprivate

Definition at line 810 of file map-inl.h.

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

◆ ConnectTransition()

void v8::internal::Map::ConnectTransition ( Isolate * isolate,
DirectHandle< Map > parent,
DirectHandle< Map > child,
DirectHandle< Name > name,
TransitionKindFlag transition_kind,
bool force_connect = false )
staticprivate

Definition at line 1534 of file map.cc.

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

◆ Copy()

Handle< Map > v8::internal::Map::Copy ( Isolate * isolate,
DirectHandle< Map > map,
const char * reason,
TransitionKindFlag kind = SPECIAL_TRANSITION )
static

Definition at line 1811 of file map.cc.

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

◆ CopyAddDescriptor()

Handle< Map > v8::internal::Map::CopyAddDescriptor ( Isolate * isolate,
DirectHandle< Map > map,
Descriptor * descriptor,
TransitionFlag flag )
staticprivate

Definition at line 2186 of file map.cc.

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

◆ CopyAsElementsKind()

Handle< Map > v8::internal::Map::CopyAsElementsKind ( Isolate * isolate,
DirectHandle< Map > map,
ElementsKind kind,
TransitionFlag flag )
static

Definition at line 1688 of file map.cc.

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

◆ CopyDropDescriptors()

Handle< Map > v8::internal::Map::CopyDropDescriptors ( Isolate * isolate,
DirectHandle< Map > map )
static

Definition at line 1480 of file map.cc.

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

◆ CopyForElementsTransition()

Handle< Map > v8::internal::Map::CopyForElementsTransition ( Isolate * isolate,
DirectHandle< Map > map )
static

Definition at line 1775 of file map.cc.

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

◆ CopyForPreventExtensions()

Handle< Map > v8::internal::Map::CopyForPreventExtensions ( Isolate * isolate,
DirectHandle< Map > map,
PropertyAttributes attrs_to_add,
DirectHandle< Symbol > transition_marker,
const char * reason,
bool old_map_is_dictionary_elements_kind = false )
static

Definition at line 1852 of file map.cc.

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

◆ CopyForPrototypeTransition()

Handle< Map > v8::internal::Map::CopyForPrototypeTransition ( Isolate * isolate,
DirectHandle< Map > map,
DirectHandle< JSPrototype > prototype )
static

Definition at line 1800 of file map.cc.

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

◆ CopyInitialMap() [1/2]

Handle< Map > v8::internal::Map::CopyInitialMap ( Isolate * isolate,
DirectHandle< Map > map )
inlinestatic

Definition at line 1008 of file map-inl.h.

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

◆ CopyInitialMap() [2/2]

Handle< Map > v8::internal::Map::CopyInitialMap ( Isolate * isolate,
DirectHandle< Map > map,
int instance_size,
int in_object_properties,
int unused_property_fields )
static

Definition at line 1455 of file map.cc.

Here is the call graph for this function:

◆ CopyInitialMapNormalized()

DirectHandle< Map > v8::internal::Map::CopyInitialMapNormalized ( Isolate * isolate,
DirectHandle< Map > map,
PropertyNormalizationMode mode = CLEAR_INOBJECT_PROPERTIES )
static

Definition at line 1448 of file map.cc.

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

◆ CopyInsertDescriptor()

Handle< Map > v8::internal::Map::CopyInsertDescriptor ( Isolate * isolate,
DirectHandle< Map > map,
Descriptor * descriptor,
TransitionFlag flag )
static

Definition at line 2209 of file map.cc.

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

◆ CopyNormalized()

Handle< Map > v8::internal::Map::CopyNormalized ( Isolate * isolate,
DirectHandle< Map > map,
PropertyNormalizationMode mode )
staticprivate

Definition at line 1378 of file map.cc.

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

◆ CopyReplaceDescriptor()

Handle< Map > v8::internal::Map::CopyReplaceDescriptor ( Isolate * isolate,
DirectHandle< Map > map,
DirectHandle< DescriptorArray > descriptors,
Descriptor * descriptor,
InternalIndex index,
TransitionFlag flag )
staticprivate

Definition at line 2225 of file map.cc.

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

◆ CopyReplaceDescriptors()

Handle< Map > v8::internal::Map::CopyReplaceDescriptors ( Isolate * isolate,
DirectHandle< Map > map,
DirectHandle< DescriptorArray > descriptors,
TransitionFlag flag,
MaybeDirectHandle< Name > maybe_name,
const char * reason,
TransitionKindFlag transition_kind )
staticprivate

Definition at line 1564 of file map.cc.

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

◆ CopyUnusedPropertyFields()

void v8::internal::Map::CopyUnusedPropertyFields ( Tagged< Map > map)
inline

Definition at line 462 of file map-inl.h.

Here is the call graph for this function:

◆ CopyUnusedPropertyFieldsAdjustedForInstanceSize()

void v8::internal::Map::CopyUnusedPropertyFieldsAdjustedForInstanceSize ( Tagged< Map > map)
inline

Definition at line 468 of file map-inl.h.

Here is the call graph for this function:

◆ CopyWithConstant()

MaybeHandle< Map > v8::internal::Map::CopyWithConstant ( Isolate * isolate,
DirectHandle< Map > map,
DirectHandle< Name > name,
DirectHandle< Object > constant,
PropertyAttributes attributes,
TransitionFlag flag )
static

Definition at line 541 of file map.cc.

Here is the call graph for this function:

◆ CopyWithField()

MaybeHandle< Map > v8::internal::Map::CopyWithField ( Isolate * isolate,
DirectHandle< Map > map,
DirectHandle< Name > name,
DirectHandle< FieldType > type,
PropertyAttributes attributes,
PropertyConstness constness,
Representation representation,
TransitionFlag flag )
static

Definition at line 504 of file map.cc.

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

◆ Create()

Handle< Map > v8::internal::Map::Create ( Isolate * isolate,
int inobject_properties )
static

Definition at line 1824 of file map.cc.

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

◆ DECL_ACCESSORS()

v8::internal::Map::DECL_ACCESSORS ( raw_transitions ,
Tagged< UnionOf< Smi, MaybeWeak< Map >, TransitionArray > >  )

◆ DECL_RELEASE_ACQUIRE_ACCESSORS()

Tagged< UnionOf< Smi, MaybeWeak< Map >, TransitionArray > > v8::internal::Map::DECL_RELEASE_ACQUIRE_ACCESSORS ( prototype_info ,
Tagged< UnionOf< Smi, PrototypeInfo > >  )

◆ DeprecateTransitionTree()

void v8::internal::Map::DeprecateTransitionTree ( Isolate * isolate)
private

Definition at line 642 of file map.cc.

Here is the call graph for this function:

◆ ElementsTransitionMap()

Tagged< Map > v8::internal::Map::ElementsTransitionMap ( Isolate * isolate,
ConcurrencyMode cmode )
inline

Definition at line 861 of file map-inl.h.

Here is the call graph for this function:

◆ EnsureDescriptorSlack()

void v8::internal::Map::EnsureDescriptorSlack ( Isolate * isolate,
DirectHandle< Map > map,
int slack )
static

Definition at line 850 of file map.cc.

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

◆ EnumLength()

int v8::internal::Map::EnumLength ( ) const
inline

Definition at line 249 of file map-inl.h.

◆ EquivalentToForElementsKindTransition()

bool v8::internal::Map::EquivalentToForElementsKindTransition ( const Tagged< Map > other,
ConcurrencyMode cmode ) const
private

Definition at line 2308 of file map.cc.

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

◆ EquivalentToForNormalization() [1/2]

bool v8::internal::Map::EquivalentToForNormalization ( const Tagged< Map > other,
ElementsKind elements_kind,
Tagged< HeapObject > prototype,
PropertyNormalizationMode mode ) const

Definition at line 2331 of file map.cc.

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

◆ EquivalentToForNormalization() [2/2]

bool v8::internal::Map::EquivalentToForNormalization ( const Tagged< Map > other,
PropertyNormalizationMode mode ) const
inline

Definition at line 201 of file map-inl.h.

Here is the call graph for this function:

◆ EquivalentToForTransition()

bool v8::internal::Map::EquivalentToForTransition ( const Tagged< Map > other,
ConcurrencyMode cmode,
DirectHandle< HeapObject > new_prototype = {} ) const
private

Definition at line 2279 of file map.cc.

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

◆ FindElementsKindTransitionedMap()

Tagged< Map > v8::internal::Map::FindElementsKindTransitionedMap ( Isolate * isolate,
MapHandlesSpan candidates,
ConcurrencyMode cmode )

Definition at line 982 of file map.cc.

Here is the call graph for this function:

◆ FindFieldOwner()

Tagged< Map > v8::internal::Map::FindFieldOwner ( PtrComprCageBase cage_base,
InternalIndex descriptor ) const

Definition at line 716 of file map.cc.

Here is the call graph for this function:

◆ FindRootMap()

Tagged< Map > v8::internal::Map::FindRootMap ( PtrComprCageBase cage_base) const

Definition at line 699 of file map.cc.

Here is the caller graph for this function:

◆ GeneralizeIfCanHaveTransitionableFastElementsKind()

void v8::internal::Map::GeneralizeIfCanHaveTransitionableFastElementsKind ( Isolate * isolate,
InstanceType instance_type,
Representation * representation,
DirectHandle< FieldType > * field_type )
inlinestatic

Definition at line 180 of file map-inl.h.

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

◆ GetConstructorFunction()

std::optional< Tagged< JSFunction > > v8::internal::Map::GetConstructorFunction ( Tagged< Map > map,
Tagged< Context > native_context )
static

Definition at line 53 of file map.cc.

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

◆ GetConstructorFunctionIndex()

int v8::internal::Map::GetConstructorFunctionIndex ( ) const
inline

Definition at line 346 of file map-inl.h.

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

◆ GetDerivedMap()

Handle< Map > v8::internal::Map::GetDerivedMap ( Isolate * isolate,
DirectHandle< Map > from,
DirectHandle< JSReceiver > prototype )
static

Definition at line 934 of file map.cc.

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

◆ GetFieldCounts()

Map::FieldCounts v8::internal::Map::GetFieldCounts ( ) const

Definition at line 622 of file map.cc.

Here is the call graph for this function:

◆ GetInitialElements()

Tagged< FixedArrayBase > v8::internal::Map::GetInitialElements ( ) const
inline

Definition at line 262 of file map-inl.h.

Here is the call graph for this function:

◆ GetInObjectProperties()

int v8::internal::Map::GetInObjectProperties ( ) const
inline

Definition at line 341 of file map-inl.h.

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

◆ GetInObjectPropertiesStartInWords()

int v8::internal::Map::GetInObjectPropertiesStartInWords ( ) const
inline

Definition at line 324 of file map-inl.h.

Here is the caller graph for this function:

◆ GetInObjectPropertyOffset()

int v8::internal::Map::GetInObjectPropertyOffset ( int index) const
inline

Definition at line 363 of file map-inl.h.

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

◆ GetLastDescriptorDetails()

PropertyDetails v8::internal::Map::GetLastDescriptorDetails ( Isolate * isolate) const
inline

Definition at line 222 of file map-inl.h.

Here is the call graph for this function:

◆ GetLastDescriptorName()

Tagged< Name > v8::internal::Map::GetLastDescriptorName ( Isolate * isolate) const
inline

Definition at line 218 of file map-inl.h.

Here is the call graph for this function:

◆ GetMapFor()

Tagged< Map > v8::internal::Map::GetMapFor ( ReadOnlyRoots roots,
InstanceType type )
inlinestatic

Definition at line 855 of file map-inl.h.

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

◆ GetObjectCreateMap()

DirectHandle< Map > v8::internal::Map::GetObjectCreateMap ( Isolate * isolate,
DirectHandle< JSPrototype > prototype )
static

Definition at line 903 of file map.cc.

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

◆ GetOrCreatePrototypeChainValidityCell()

Handle< UnionOf< Smi, Cell > > v8::internal::Map::GetOrCreatePrototypeChainValidityCell ( DirectHandle< Map > map,
Isolate * isolate )
static

Definition at line 2419 of file map.cc.

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

◆ GetOrCreatePrototypeInfo()

DirectHandle< PrototypeInfo > v8::internal::Map::GetOrCreatePrototypeInfo ( DirectHandle< Map > prototype_map,
Isolate * isolate )
static

Definition at line 2377 of file map.cc.

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

◆ GetPrototypeChainRootMap()

Tagged< Map > v8::internal::Map::GetPrototypeChainRootMap ( Isolate * isolate) const

Definition at line 37 of file map.cc.

Here is the call graph for this function:

◆ GetVisitorId()

VisitorId v8::internal::Map::GetVisitorId ( Tagged< Map > map)
static

Definition at line 65 of file map.cc.

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

◆ has_any_nonextensible_elements()

bool v8::internal::Map::has_any_nonextensible_elements ( ) const
inline

Definition at line 669 of file map-inl.h.

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

◆ has_any_typed_array_or_wasm_array_elements()

bool v8::internal::Map::has_any_typed_array_or_wasm_array_elements ( ) const
inline

Definition at line 656 of file map-inl.h.

Here is the call graph for this function:

◆ has_dictionary_elements()

bool v8::internal::Map::has_dictionary_elements ( ) const
inline

Definition at line 665 of file map-inl.h.

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

◆ has_fast_double_elements()

bool v8::internal::Map::has_fast_double_elements ( ) const
inline

Definition at line 628 of file map-inl.h.

Here is the call graph for this function:

◆ has_fast_elements()

bool v8::internal::Map::has_fast_elements ( ) const
inline

Definition at line 632 of file map-inl.h.

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

◆ has_fast_object_elements()

bool v8::internal::Map::has_fast_object_elements ( ) const
inline

Definition at line 620 of file map-inl.h.

Here is the call graph for this function:

◆ has_fast_packed_elements()

bool v8::internal::Map::has_fast_packed_elements ( ) const
inline

Definition at line 636 of file map-inl.h.

Here is the call graph for this function:

◆ has_fast_sloppy_arguments_elements()

bool v8::internal::Map::has_fast_sloppy_arguments_elements ( ) const
inline

Definition at line 644 of file map-inl.h.

◆ has_fast_smi_elements()

bool v8::internal::Map::has_fast_smi_elements ( ) const
inline

Definition at line 616 of file map-inl.h.

Here is the call graph for this function:

◆ has_fast_smi_or_object_elements()

bool v8::internal::Map::has_fast_smi_or_object_elements ( ) const
inline

Definition at line 624 of file map-inl.h.

Here is the call graph for this function:

◆ has_fast_string_wrapper_elements()

bool v8::internal::Map::has_fast_string_wrapper_elements ( ) const
inline

Definition at line 648 of file map-inl.h.

Here is the caller graph for this function:

◆ has_frozen_elements()

bool v8::internal::Map::has_frozen_elements ( ) const
inline

Definition at line 681 of file map-inl.h.

Here is the call graph for this function:

◆ has_nonextensible_elements()

bool v8::internal::Map::has_nonextensible_elements ( ) const
inline

Definition at line 673 of file map-inl.h.

Here is the call graph for this function:

◆ has_prototype_info()

bool v8::internal::Map::has_prototype_info ( ) const
inline

Definition at line 593 of file map-inl.h.

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

◆ has_sealed_elements()

bool v8::internal::Map::has_sealed_elements ( ) const
inline

Definition at line 677 of file map-inl.h.

Here is the call graph for this function:

◆ has_shared_array_elements()

bool v8::internal::Map::has_shared_array_elements ( ) const
inline

Definition at line 685 of file map-inl.h.

Here is the call graph for this function:

◆ has_sloppy_arguments_elements()

bool v8::internal::Map::has_sloppy_arguments_elements ( ) const
inline

Definition at line 640 of file map-inl.h.

Here is the call graph for this function:

◆ has_typed_array_or_rab_gsab_typed_array_elements()

bool v8::internal::Map::has_typed_array_or_rab_gsab_typed_array_elements ( ) const
inline

Definition at line 652 of file map-inl.h.

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

◆ Hash()

int v8::internal::Map::Hash ( Isolate * isolate,
Tagged< HeapObject > prototype )

Definition at line 2250 of file map.cc.

Here is the call graph for this function:

◆ HasOutOfObjectProperties()

bool v8::internal::Map::HasOutOfObjectProperties ( ) const
inline

Definition at line 334 of file map-inl.h.

Here is the call graph for this function:

◆ init_prototype_and_constructor_or_back_pointer()

void v8::internal::Map::init_prototype_and_constructor_or_back_pointer ( ReadOnlyRoots roots)
inline

◆ InitializeDescriptors()

void v8::internal::Map::InitializeDescriptors ( Isolate * isolate,
Tagged< DescriptorArray > descriptors )
inline

Definition at line 764 of file map-inl.h.

Here is the call graph for this function:

◆ InobjectSlackTrackingStep()

void v8::internal::Map::InobjectSlackTrackingStep ( Isolate * isolate)
inline

Definition at line 1018 of file map-inl.h.

Here is the call graph for this function:

◆ InstallDescriptors()

void v8::internal::Map::InstallDescriptors ( Isolate * isolate,
DirectHandle< Map > parent_map,
DirectHandle< Map > child_map,
InternalIndex new_descriptor,
DirectHandle< DescriptorArray > descriptors,
bool force_connect = false )
staticprivate

Definition at line 1664 of file map.cc.

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

◆ InstanceSizeFromSlack()

int v8::internal::Map::InstanceSizeFromSlack ( int slack) const
inline

Definition at line 1040 of file map-inl.h.

◆ InstancesNeedRewriting() [1/2]

bool v8::internal::Map::InstancesNeedRewriting ( Tagged< Map > target,
ConcurrencyMode cmode ) const

Definition at line 559 of file map.cc.

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

◆ InstancesNeedRewriting() [2/2]

bool v8::internal::Map::InstancesNeedRewriting ( Tagged< Map > target,
int target_number_of_fields,
int target_inobject,
int target_unused,
int * old_number_of_fields,
ConcurrencyMode cmode ) const

Definition at line 571 of file map.cc.

Here is the call graph for this function:

◆ is_abandoned_prototype_map()

bool v8::internal::Map::is_abandoned_prototype_map ( ) const
inline

Definition at line 583 of file map-inl.h.

◆ is_stable()

bool v8::internal::Map::is_stable ( ) const
inline

Definition at line 705 of file map-inl.h.

Here is the caller graph for this function:

◆ IsDetached()

bool v8::internal::Map::IsDetached ( Isolate * isolate) const
inline

Definition at line 173 of file map-inl.h.

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

◆ IsInobjectSlackTrackingInProgress()

bool v8::internal::Map::IsInobjectSlackTrackingInProgress ( ) const
inline

Definition at line 1014 of file map-inl.h.

Here is the caller graph for this function:

◆ IsMapInArrayPrototypeChain()

bool v8::internal::Map::IsMapInArrayPrototypeChain ( Isolate * isolate) const

Definition at line 1056 of file map.cc.

◆ IsMostGeneralFieldType()

bool v8::internal::Map::IsMostGeneralFieldType ( Representation representation,
Tagged< FieldType > field_type )
inlinestatic

Definition at line 157 of file map-inl.h.

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

◆ IsPrototypeChainInvalidated()

bool v8::internal::Map::IsPrototypeChainInvalidated ( Tagged< Map > map)
static

Definition at line 2456 of file map.cc.

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

◆ IsPrototypeValidityCellValid()

bool v8::internal::Map::IsPrototypeValidityCellValid ( ) const
inline

Definition at line 902 of file map-inl.h.

Here is the call graph for this function:

◆ IterateOwnDescriptors()

InternalIndex::Range v8::internal::Map::IterateOwnDescriptors ( ) const
inline

Definition at line 245 of file map-inl.h.

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

◆ LastAdded()

InternalIndex v8::internal::Map::LastAdded ( ) const
inline

Definition at line 226 of file map-inl.h.

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

◆ LookupElementsTransitionMap()

Tagged< Map > v8::internal::Map::LookupElementsTransitionMap ( Isolate * isolate,
ElementsKind elements_kind,
ConcurrencyMode cmode )
private

Definition at line 1047 of file map.cc.

Here is the call graph for this function:

◆ MapPrint()

void v8::internal::Map::MapPrint ( std::ostream & os)

Definition at line 3878 of file objects-printer.cc.

Here is the call graph for this function:

◆ mark_unstable()

void v8::internal::Map::mark_unstable ( )
inline

Definition at line 700 of file map-inl.h.

Here is the caller graph for this function:

◆ NextFreePropertyIndex()

int v8::internal::Map::NextFreePropertyIndex ( ) const

Definition at line 1189 of file map.cc.

Here is the call graph for this function:

◆ Normalize() [1/3]

Handle< Map > v8::internal::Map::Normalize ( Isolate * isolate,
DirectHandle< Map > fast_map,
PropertyNormalizationMode mode,
const char * reason )
inlinestatic

Definition at line 194 of file map-inl.h.

Here is the call graph for this function:

◆ Normalize() [2/3]

Handle< Map > v8::internal::Map::Normalize ( Isolate * isolate,
DirectHandle< Map > map,
ElementsKind new_elements_kind,
DirectHandle< JSPrototype > new_prototype,
PropertyNormalizationMode mode,
bool use_cache,
const char * reason )
static

Definition at line 1282 of file map.cc.

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

◆ Normalize() [3/3]

static V8_EXPORT_PRIVATE Handle< Map > v8::internal::Map::Normalize ( Isolate * isolate,
DirectHandle< Map > map,
ElementsKind new_elements_kind,
DirectHandle< JSPrototype > new_prototype,
PropertyNormalizationMode mode,
const char * reason )
inlinestatic

Definition at line 581 of file map.h.

Here is the call graph for this function:

◆ NotifyLeafMapLayoutChange()

void v8::internal::Map::NotifyLeafMapLayoutChange ( Isolate * isolate)
inline

Definition at line 721 of file map-inl.h.

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

◆ NumberOfEnumerableProperties()

int v8::internal::Map::NumberOfEnumerableProperties ( ) const

Definition at line 1177 of file map.cc.

Here is the call graph for this function:

◆ NumberOfFields()

int v8::internal::Map::NumberOfFields ( ConcurrencyMode cmode) const

Definition at line 610 of file map.cc.

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

◆ NumberOfOwnDescriptors()

int v8::internal::Map::NumberOfOwnDescriptors ( ) const
inline

Definition at line 232 of file map-inl.h.

Here is the caller graph for this function:

◆ ObjectFieldsFrom()

static constexpr ObjectFields v8::internal::Map::ObjectFieldsFrom ( VisitorId visitor_id)
inlinestaticconstexpr

Definition at line 919 of file map.h.

Here is the caller graph for this function:

◆ OnlyHasSimpleProperties()

bool v8::internal::Map::OnlyHasSimpleProperties ( ) const

Definition at line 1202 of file map.cc.

Here is the call graph for this function:

◆ PrepareForDataProperty()

DirectHandle< Map > v8::internal::Map::PrepareForDataProperty ( Isolate * isolate,
DirectHandle< Map > old_map,
InternalIndex descriptor_number,
PropertyConstness constness,
DirectHandle< Object > value )
static

Definition at line 1975 of file map.cc.

Here is the caller graph for this function:

◆ PrintMapDetails()

void v8::internal::Map::PrintMapDetails ( std::ostream & os)

Definition at line 3872 of file objects-printer.cc.

◆ RawCopy()

Handle< Map > v8::internal::Map::RawCopy ( Isolate * isolate,
DirectHandle< Map > map,
int instance_size,
int inobject_properties )
staticprivate

Definition at line 1246 of file map.cc.

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

◆ ReplaceDescriptors()

void v8::internal::Map::ReplaceDescriptors ( Isolate * isolate,
Tagged< DescriptorArray > new_descriptors )
private

Definition at line 668 of file map.cc.

Here is the call graph for this function:

◆ RetrieveDescriptorsPointer()

Tagged< Cell > v8::internal::Map::RetrieveDescriptorsPointer ( )
inline

◆ SetBackPointer()

void v8::internal::Map::SetBackPointer ( Tagged< HeapObject > value,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
inline

Definition at line 845 of file map-inl.h.

Here is the call graph for this function:

◆ SetConstructor()

void v8::internal::Map::SetConstructor ( Tagged< Object > constructor,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
inline

Definition at line 999 of file map-inl.h.

◆ SetConstructorFunctionIndex()

void v8::internal::Map::SetConstructorFunctionIndex ( int value)
inline

Definition at line 358 of file map-inl.h.

Here is the call graph for this function:

◆ SetEnumLength()

void v8::internal::Map::SetEnumLength ( int length)
inline

Definition at line 253 of file map-inl.h.

Here is the call graph for this function:

◆ SetInObjectPropertiesStartInWords()

void v8::internal::Map::SetInObjectPropertiesStartInWords ( int value)
inline

Definition at line 329 of file map-inl.h.

◆ SetInObjectUnusedPropertyFields()

void v8::internal::Map::SetInObjectUnusedPropertyFields ( int unused_property_fields)
inline

Definition at line 438 of file map-inl.h.

Here is the call graph for this function:

◆ SetInstanceDescriptors()

void v8::internal::Map::SetInstanceDescriptors ( Isolate * isolate,
Tagged< DescriptorArray > descriptors,
int number_of_own_descriptors,
WriteBarrierMode barrier_mode = UPDATE_WRITE_BARRIER )

Definition at line 2363 of file map.cc.

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

◆ SetNumberOfOwnDescriptors()

void v8::internal::Map::SetNumberOfOwnDescriptors ( int number)
inline

Definition at line 237 of file map-inl.h.

Here is the caller graph for this function:

◆ SetOutOfObjectUnusedPropertyFields()

void v8::internal::Map::SetOutOfObjectUnusedPropertyFields ( int unused_property_fields)
inline

Definition at line 453 of file map-inl.h.

Here is the call graph for this function:

◆ SetPrototype()

void v8::internal::Map::SetPrototype ( Isolate * isolate,
DirectHandle< Map > map,
DirectHandle< JSPrototype > prototype,
bool enable_prototype_setup_mode = true )
static

Definition at line 2467 of file map.cc.

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

◆ SetShouldBeFastPrototypeMap()

void v8::internal::Map::SetShouldBeFastPrototypeMap ( DirectHandle< Map > map,
bool value,
Isolate * isolate )
static

Definition at line 2408 of file map.cc.

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

◆ SetWasmByte1()

void v8::internal::Map::SetWasmByte1 ( uint8_t value)
inline

◆ SetWasmByte2()

void v8::internal::Map::SetWasmByte2 ( uint8_t value)
inline

◆ ShareDescriptor()

Handle< Map > v8::internal::Map::ShareDescriptor ( Isolate * isolate,
DirectHandle< Map > map,
DirectHandle< DescriptorArray > descriptors,
Descriptor * descriptor )
staticprivate

Definition at line 1493 of file map.cc.

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

◆ should_be_fast_prototype_map()

bool v8::internal::Map::should_be_fast_prototype_map ( ) const
inline

Definition at line 587 of file map-inl.h.

Here is the call graph for this function:

◆ ShouldCheckForReadOnlyElementsInPrototypeChain()

bool v8::internal::Map::ShouldCheckForReadOnlyElementsInPrototypeChain ( Isolate * isolate)

Definition at line 1209 of file map.cc.

Here is the call graph for this function:

◆ SlackForArraySize()

int v8::internal::Map::SlackForArraySize ( int old_size,
int size_limit )
inlinestatic

Definition at line 1030 of file map-inl.h.

Here is the caller graph for this function:

◆ StartInobjectSlackTracking()

void v8::internal::Map::StartInobjectSlackTracking ( )

Definition at line 2486 of file map.cc.

Here is the call graph for this function:

◆ TooManyFastProperties()

bool v8::internal::Map::TooManyFastProperties ( StoreOrigin store_origin) const
inline

Definition at line 207 of file map-inl.h.

Here is the call graph for this function:

◆ TransitionElementsTo()

DirectHandle< Map > v8::internal::Map::TransitionElementsTo ( Isolate * isolate,
DirectHandle< Map > map,
ElementsKind to_kind )
static

Definition at line 1068 of file map.cc.

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

◆ TransitionRootMapToPrototypeForNewObject()

Handle< Map > v8::internal::Map::TransitionRootMapToPrototypeForNewObject ( Isolate * isolate,
DirectHandle< Map > map,
DirectHandle< JSPrototype > prototype )
static

Definition at line 2492 of file map.cc.

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

◆ TransitionToAccessorProperty()

DirectHandle< Map > v8::internal::Map::TransitionToAccessorProperty ( Isolate * isolate,
DirectHandle< Map > map,
DirectHandle< Name > name,
InternalIndex descriptor,
DirectHandle< Object > getter,
DirectHandle< Object > setter,
PropertyAttributes attributes )
static

Definition at line 2072 of file map.cc.

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

◆ TransitionToDataProperty()

DirectHandle< Map > v8::internal::Map::TransitionToDataProperty ( Isolate * isolate,
DirectHandle< Map > map,
DirectHandle< Name > name,
DirectHandle< Object > value,
PropertyAttributes attributes,
PropertyConstness constness,
StoreOrigin store_origin )
static

Definition at line 1987 of file map.cc.

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

◆ TransitionToImmutableProto()

DirectHandle< Map > v8::internal::Map::TransitionToImmutableProto ( Isolate * isolate,
DirectHandle< Map > map )
static

Definition at line 1413 of file map.cc.

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

◆ TransitionToUpdatePrototype()

Handle< Map > v8::internal::Map::TransitionToUpdatePrototype ( Isolate * isolate,
DirectHandle< Map > map,
DirectHandle< JSPrototype > prototype )
static

Definition at line 2506 of file map.cc.

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

◆ TryAsElementsKind()

std::optional< Tagged< Map > > v8::internal::Map::TryAsElementsKind ( Isolate * isolate,
DirectHandle< Map > map,
ElementsKind kind,
ConcurrencyMode cmode )
static

Definition at line 1152 of file map.cc.

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

◆ TryGetBackPointer()

bool v8::internal::Map::TryGetBackPointer ( PtrComprCageBase cage_base,
Tagged< Map > * back_pointer ) const
inline

Definition at line 826 of file map-inl.h.

Here is the call graph for this function:

◆ TryGetConstructor()

Tagged< Object > v8::internal::Map::TryGetConstructor ( PtrComprCageBase cage_base,
int max_steps )
inline

Definition at line 971 of file map-inl.h.

Here is the call graph for this function:

◆ TryGetMapRootIdxFor()

static constexpr std::optional< RootIndex > v8::internal::Map::TryGetMapRootIdxFor ( InstanceType type)
inlinestaticconstexpr

Definition at line 891 of file map.h.

Here is the caller graph for this function:

◆ TryGetPrototypeInfo()

bool v8::internal::Map::TryGetPrototypeInfo ( Tagged< PrototypeInfo > * result) const
inline

Definition at line 598 of file map-inl.h.

Here is the call graph for this function:

◆ TryReplayPropertyTransitions()

Tagged< Map > v8::internal::Map::TryReplayPropertyTransitions ( Isolate * isolate,
Tagged< Map > map,
ConcurrencyMode cmode )
private

Definition at line 773 of file map.cc.

Here is the call graph for this function:

◆ TryUpdate()

MaybeHandle< Map > v8::internal::Map::TryUpdate ( Isolate * isolate,
Handle< Map > map )
static

Definition at line 751 of file map.cc.

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

◆ UnusedInObjectProperties()

int v8::internal::Map::UnusedInObjectProperties ( ) const
inline

Definition at line 401 of file map-inl.h.

◆ UnusedPropertyFields()

int v8::internal::Map::UnusedPropertyFields ( ) const
inline

Definition at line 384 of file map-inl.h.

Here is the caller graph for this function:

◆ UnwrapFieldType()

Tagged< FieldType > v8::internal::Map::UnwrapFieldType ( Tagged< MaybeObject > wrapped_type)
static

Definition at line 495 of file map.cc.

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

◆ Update()

DirectHandle< Map > v8::internal::Map::Update ( Isolate * isolate,
DirectHandle< Map > map )
static

Definition at line 839 of file map.cc.

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

◆ UpdateDescriptors()

void v8::internal::Map::UpdateDescriptors ( Isolate * isolate,
Tagged< DescriptorArray > descriptors,
int number_of_own_descriptors )
inline

Definition at line 758 of file map-inl.h.

Here is the call graph for this function:

◆ UsedInstanceSize()

int v8::internal::Map::UsedInstanceSize ( ) const
inline

Definition at line 425 of file map-inl.h.

◆ WasmByte1()

uint8_t v8::internal::Map::WasmByte1 ( ) const
inline

◆ WasmByte2()

uint8_t v8::internal::Map::WasmByte2 ( ) const
inline

◆ WrapFieldType()

MaybeObjectDirectHandle v8::internal::Map::WrapFieldType ( DirectHandle< FieldType > type)
static

Definition at line 487 of file map.cc.

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

Friends And Related Symbol Documentation

◆ MapUpdater

friend class MapUpdater
friend

Definition at line 1069 of file map.h.

◆ MarkingVisitorBase

template<typename ConcreteVisitor >
friend class MarkingVisitorBase
friend

Definition at line 1071 of file map.h.

Member Data Documentation

◆ isolate

Tagged< UnionOf< Smi, MaybeWeak< Map >, TransitionArray > > Isolate* v8::internal::Map::isolate

Definition at line 502 of file map.h.

◆ kGenerousAllocationCount

const int v8::internal::Map::kGenerousAllocationCount
static
Initial value:
=
static const int kSlackTrackingCounterStart
Definition map.h:347
static const int kSlackTrackingCounterEnd
Definition map.h:348

Definition at line 382 of file map.h.

◆ kNoConstructorFunctionIndex

const int v8::internal::Map::kNoConstructorFunctionIndex = 0
static

Definition at line 257 of file map.h.

◆ kNoSlackTracking

const int v8::internal::Map::kNoSlackTracking = 0
static

Definition at line 349 of file map.h.

◆ kPrototypeChainInvalid

int v8::internal::Map::kPrototypeChainInvalid = 1
staticconstexpr

Definition at line 518 of file map.h.

◆ kPrototypeChainValid

int v8::internal::Map::kPrototypeChainValid = 0
staticconstexpr

Definition at line 517 of file map.h.

◆ kPrototypeChainValidSmi

Tagged<Smi> v8::internal::Map::kPrototypeChainValidSmi = Smi::zero()
staticconstexpr

Definition at line 519 of file map.h.

◆ kSlackTrackingCounterEnd

const int v8::internal::Map::kSlackTrackingCounterEnd = 1
static

Definition at line 348 of file map.h.

◆ kSlackTrackingCounterStart

const int v8::internal::Map::kSlackTrackingCounterStart = 7
static

Definition at line 347 of file map.h.


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