V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::internal::Map Class Reference
Inheritance diagram for v8::internal::Map:
v8::internal::HeapObjectPtr v8::internal::ObjectPtr

Classes

class  BodyDescriptor
 
class  FieldCounts
 

Public Member Functions

int GetInObjectPropertiesStartInWords () const
 
void SetInObjectPropertiesStartInWords (int value)
 
int GetInObjectProperties () const
 
int GetConstructorFunctionIndex () const
 
void SetConstructorFunctionIndex (int value)
 
InterceptorInfoGetNamedInterceptor ()
 
InterceptorInfoGetIndexedInterceptor ()
 
int UsedInstanceSize () const
 
int UnusedPropertyFields () const
 
int UnusedInObjectProperties () const
 
void SetInObjectUnusedPropertyFields (int unused_property_fields)
 
void SetOutOfObjectUnusedPropertyFields (int unused_property_fields)
 
void CopyUnusedPropertyFields (Map map)
 
void CopyUnusedPropertyFieldsAdjustedForInstanceSize (Map map)
 
void AccountAddedPropertyField ()
 
void AccountAddedOutOfObjectPropertyField (int unused_in_property_array)
 
 STATIC_ASSERT (NumberOfOwnDescriptorsBits::kMax >=kMaxNumberOfDescriptors)
 
 STATIC_ASSERT (kSlackTrackingCounterStart<=ConstructionCounterBits::kMax)
 
void StartInobjectSlackTracking ()
 
bool IsInobjectSlackTrackingInProgress () const
 
void InobjectSlackTrackingStep (Isolate *isolate)
 
int ComputeMinObjectSlack (Isolate *isolate)
 
int InstanceSizeFromSlack (int slack) const
 
void CompleteInobjectSlackTracking (Isolate *isolate)
 
bool is_abandoned_prototype_map () 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_sloppy_arguments_elements () const
 
bool has_fast_sloppy_arguments_elements () const
 
bool has_fast_string_wrapper_elements () const
 
bool has_fixed_typed_array_elements () const
 
bool has_dictionary_elements () const
 
bool DictionaryElementsInPrototypeChainOnly (Isolate *isolate)
 
Map ElementsTransitionMap ()
 
FixedArrayBase GetInitialElements () const
 
bool should_be_fast_prototype_map () const
 
Map GetPrototypeChainRootMap (Isolate *isolate) const
 
Map FindRootMap (Isolate *isolate) const
 
Map FindFieldOwner (Isolate *isolate, int descriptor) const
 
int GetInObjectPropertyOffset (int index) const
 
FieldCounts GetFieldCounts () const
 
int NumberOfFields () const
 
bool HasOutOfObjectProperties () const
 
bool TransitionRequiresSynchronizationWithGC (Map target) const
 
bool TransitionRemovesTaggedField (Map target) const
 
bool TransitionChangesTaggedFieldToUntaggedField (Map target) const
 
bool InstancesNeedRewriting (Map target) const
 
bool InstancesNeedRewriting (Map target, int target_number_of_fields, int target_inobject, int target_unused, int *old_number_of_fields) const
 
ObjectGetConstructor () const
 
FunctionTemplateInfoGetFunctionTemplateInfo () const
 
void SetConstructor (Object *constructor, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
ObjectGetBackPointer () const
 
void SetBackPointer (Object *value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
LayoutDescriptor layout_descriptor_gc_safe () const
 
bool HasFastPointerLayout () const
 
LayoutDescriptor GetLayoutDescriptor () const
 
void UpdateDescriptors (DescriptorArray *descriptors, LayoutDescriptor layout_descriptor)
 
void InitializeDescriptors (DescriptorArray *descriptors, LayoutDescriptor layout_descriptor)
 
bool IsPrototypeValidityCellValid () const
 
PropertyDetails GetLastDescriptorDetails () const
 
int LastAdded () const
 
int NumberOfOwnDescriptors () const
 
void SetNumberOfOwnDescriptors (int number)
 
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 (Descriptor *desc)
 
int NextFreePropertyIndex () const
 
int NumberOfEnumerableProperties () const
 
int Hash ()
 
Map FindElementsKindTransitionedMap (Isolate *isolate, MapHandles const &candidates)
 
bool CanTransition () const
 
bool IsBooleanMap () const
 
bool IsNullOrUndefinedMap () const
 
bool IsPrimitiveMap () const
 
bool IsSpecialReceiverMap () const
 
bool IsCustomElementsReceiverMap () const
 
bool IsMapInArrayPrototypeChain (Isolate *isolate) const
 
 STATIC_ASSERT (kInstanceTypeOffset==Internals::kMapInstanceTypeOffset)
 
bool EquivalentToForNormalization (const Map other, PropertyNormalizationMode mode) const
 
bool IsUnboxedDoubleField (FieldIndex index) const
 
void PrintMapDetails (std::ostream &os)
 
void NotifyLeafMapLayoutChange (Isolate *isolate)
 
bool CanHaveFastTransitionableElementsKind () const
 
- Public Member Functions inherited from v8::internal::HeapObjectPtr
Map map () const
 
void set_map (Map value)
 
void set_map_after_allocation (Map value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
void set_map_no_write_barrier (Map value)
 
ObjectSlot map_slot ()
 
MapWord map_word () const
 
void set_map_word (MapWord map_word)
 
void synchronized_set_map (Map value)
 
void synchronized_set_map_word (MapWord map_word)
 
WriteBarrierMode GetWriteBarrierMode (const DisallowHeapAllocation &promise)
 
 operator HeapObject * ()
 
 operator const HeapObject * () const
 
bool is_null () const
 
bool IsHeapObjectPtr () const
 
ReadOnlyRoots GetReadOnlyRoots () const
 
Address address () const
 
int Size () const
 
int SizeFromMap (Map map) const
 
ObjectSlot RawField (int byte_offset) const
 
MaybeObjectSlot RawMaybeWeakField (int byte_offset) const
 
void HeapObjectVerify (Isolate *isolate)
 
Address GetFieldAddress (int field_offset) const
 
- Public Member Functions inherited from v8::internal::ObjectPtr
constexpr ObjectPtr (Address ptr)
 
 operator Object * () const
 
bool operator== (const ObjectPtr other) const
 
bool operator!= (const ObjectPtr other) const
 
bool operator< (const ObjectPtr other) const
 
constexpr Address ptr () const
 
ObjectPtroperator-> ()
 
const ObjectPtroperator-> () const
 
bool IsHashTableBase () const
 
V8_INLINE bool IsSmallOrderedHashTable () const
 
bool IsObject () const
 
double Number () const
 
bool ToInt32 (int32_t *value) const
 
bool ToUint32 (uint32_t *value) const
 
bool BooleanValue (Isolate *isolate)
 
bool FilterKey (PropertyFilter filter)
 
ObjectGetHash ()
 
Smi GetOrCreateHash (Isolate *isolate)
 
V8_EXPORT_PRIVATE bool SameValue (Object *other)
 
V8_WARN_UNUSED_RESULT bool ToArrayIndex (uint32_t *index) const
 
void ShortPrint (FILE *out=stdout)
 
void ShortPrint (std::ostream &os)
 
void Print ()
 
void Print (std::ostream &os)
 

Static Public Member Functions

static MaybeHandle< JSFunctionGetConstructorFunction (Handle< Map > map, Handle< Context > native_context)
 
static Handle< PrototypeInfoGetOrCreatePrototypeInfo (Handle< JSObject > prototype, Isolate *isolate)
 
static Handle< PrototypeInfoGetOrCreatePrototypeInfo (Handle< Map > prototype_map, Isolate *isolate)
 
static void SetShouldBeFastPrototypeMap (Handle< Map > map, bool value, Isolate *isolate)
 
static Handle< ObjectGetOrCreatePrototypeChainValidityCell (Handle< Map > map, Isolate *isolate)
 
static bool IsPrototypeChainInvalidated (Map map)
 
static V8_WARN_UNUSED_RESULT Handle< FieldTypeGeneralizeFieldType (Representation rep1, Handle< FieldType > type1, Representation rep2, Handle< FieldType > type2, Isolate *isolate)
 
static void GeneralizeField (Isolate *isolate, Handle< Map > map, int modify_index, PropertyConstness new_constness, Representation new_representation, Handle< FieldType > new_field_type)
 
static bool IsInplaceGeneralizableField (PropertyConstness constness, Representation representation, FieldType field_type)
 
static void GeneralizeIfCanHaveTransitionableFastElementsKind (Isolate *isolate, InstanceType instance_type, PropertyConstness *constness, Representation *representation, Handle< FieldType > *field_type)
 
static Handle< MapReconfigureProperty (Isolate *isolate, Handle< Map > map, int modify_index, PropertyKind new_kind, PropertyAttributes new_attributes, Representation new_representation, Handle< FieldType > new_field_type)
 
static Handle< MapReconfigureElementsKind (Isolate *isolate, Handle< Map > map, ElementsKind new_elements_kind)
 
static Handle< MapPrepareForDataProperty (Isolate *isolate, Handle< Map > old_map, int descriptor_number, PropertyConstness constness, Handle< Object > value)
 
static Handle< MapNormalize (Isolate *isolate, Handle< Map > map, PropertyNormalizationMode mode, const char *reason)
 
static void SetPrototype (Isolate *isolate, Handle< Map > map, Handle< Object > prototype, bool enable_prototype_setup_mode=true)
 
static MaybeHandle< MapTryUpdate (Isolate *isolate, Handle< Map > map) V8_WARN_UNUSED_RESULT
 
static Map TryUpdateSlow (Isolate *isolate, Map map) V8_WARN_UNUSED_RESULT
 
static Handle< MapUpdate (Isolate *isolate, Handle< Map > map)
 
static Handle< MapCopyInitialMap (Isolate *isolate, Handle< Map > map)
 
static Handle< MapCopyInitialMap (Isolate *isolate, Handle< Map > map, int instance_size, int in_object_properties, int unused_property_fields)
 
static Handle< MapCopyInitialMapNormalized (Isolate *isolate, Handle< Map > map, PropertyNormalizationMode mode=CLEAR_INOBJECT_PROPERTIES)
 
static Handle< MapCopyDropDescriptors (Isolate *isolate, Handle< Map > map)
 
static Handle< MapCopyInsertDescriptor (Isolate *isolate, Handle< Map > map, Descriptor *descriptor, TransitionFlag flag)
 
static MaybeObjectHandle WrapFieldType (Isolate *isolate, Handle< FieldType > type)
 
static FieldType UnwrapFieldType (MaybeObject wrapped_type)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< MapCopyWithField (Isolate *isolate, Handle< Map > map, Handle< Name > name, Handle< FieldType > type, PropertyAttributes attributes, PropertyConstness constness, Representation representation, TransitionFlag flag)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< MapCopyWithConstant (Isolate *isolate, Handle< Map > map, Handle< Name > name, Handle< Object > constant, PropertyAttributes attributes, TransitionFlag flag)
 
static Handle< MapTransitionElementsTo (Isolate *isolate, Handle< Map > map, ElementsKind to_kind)
 
static Handle< MapAsElementsKind (Isolate *isolate, Handle< Map > map, ElementsKind kind)
 
static Handle< MapCopyAsElementsKind (Isolate *isolate, Handle< Map > map, ElementsKind kind, TransitionFlag flag)
 
static Handle< MapAsLanguageMode (Isolate *isolate, Handle< Map > initial_map, Handle< SharedFunctionInfo > shared_info)
 
static Handle< MapCopyForPreventExtensions (Isolate *isolate, Handle< Map > map, PropertyAttributes attrs_to_add, Handle< Symbol > transition_marker, const char *reason)
 
static Handle< MapFixProxy (Handle< Map > map, InstanceType type, int size)
 
static Handle< MapTransitionToDataProperty (Isolate *isolate, Handle< Map > map, Handle< Name > name, Handle< Object > value, PropertyAttributes attributes, PropertyConstness constness, StoreOrigin store_origin)
 
static Handle< MapTransitionToAccessorProperty (Isolate *isolate, Handle< Map > map, Handle< Name > name, int descriptor, Handle< Object > getter, Handle< Object > setter, PropertyAttributes attributes)
 
static Handle< MapReconfigureExistingProperty (Isolate *isolate, Handle< Map > map, int descriptor, PropertyKind kind, PropertyAttributes attributes)
 
static Handle< MapCopyForElementsTransition (Isolate *isolate, Handle< Map > map)
 
static Handle< MapCopy (Isolate *isolate, Handle< Map > map, const char *reason)
 
static Handle< MapCreate (Isolate *isolate, int inobject_properties)
 
static int SlackForArraySize (int old_size, int size_limit)
 
static void EnsureDescriptorSlack (Isolate *isolate, Handle< Map > map, int slack)
 
static Handle< MapGetObjectCreateMap (Isolate *isolate, Handle< HeapObject > prototype)
 
static MaybeHandle< MapTryGetObjectCreateMap (Isolate *isolate, Handle< HeapObject > prototype)
 
static Handle< MapTransitionToPrototype (Isolate *isolate, Handle< Map > map, Handle< Object > prototype)
 
static Handle< MapTransitionToImmutableProto (Isolate *isolate, Handle< Map > map)
 
static Handle< MapAddMissingTransitionsForTesting (Isolate *isolate, Handle< Map > split_map, Handle< DescriptorArray > descriptors, Handle< LayoutDescriptor > full_layout_descriptor)
 
static VisitorId GetVisitorId (Map map)
 
static bool CanHaveFastTransitionableElementsKind (InstanceType instance_type)
 

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 const int kPrototypeChainValid = 0
 
static const int kPrototypeChainInvalid = 1
 
static const int kMaxPreAllocatedPropertyFields = 255
 
- Static Public Attributes inherited from v8::internal::HeapObjectPtr
static const int kMapOffset = HeapObject::kMapOffset
 
static const int kHeaderSize = HeapObject::kHeaderSize
 

Friends

class MapUpdater
 

Additional Inherited Members

- Protected Types inherited from v8::internal::HeapObjectPtr
enum  AllowInlineSmiStorage { kRequireHeapObjectTag, kAllowBeingASmi }
 
- Protected Member Functions inherited from v8::internal::HeapObjectPtr
 HeapObjectPtr (Address ptr, AllowInlineSmiStorage allow_smi)
 

Detailed Description

Definition at line 178 of file map.h.

Member Data Documentation

◆ kGenerousAllocationCount

const int v8::internal::Map::kGenerousAllocationCount
static
Initial value:
=
kSlackTrackingCounterStart - kSlackTrackingCounterEnd + 1

Definition at line 327 of file map.h.


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