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

#include <ordered-hash-table.h>

Inheritance diagram for v8::internal::OrderedNameDictionary:
Collaboration diagram for v8::internal::OrderedNameDictionary:

Public Member Functions

void SetEntry (InternalIndex entry, Tagged< Object > key, Tagged< Object > value, PropertyDetails details)
 
template<typename IsolateT >
InternalIndex FindEntry (IsolateT *isolate, Tagged< Object > key)
 
template<typename IsolateT >
InternalIndex FindEntry (IsolateT *isolate, DirectHandle< Object > key)
 
Tagged< ObjectValueAt (InternalIndex entry)
 
Tagged< NameNameAt (InternalIndex entry)
 
void ValueAtPut (InternalIndex entry, Tagged< Object > value)
 
PropertyDetails DetailsAt (InternalIndex entry)
 
void DetailsAtPut (InternalIndex entry, PropertyDetails value)
 
void SetHash (int hash)
 
int Hash ()
 
- Public Member Functions inherited from v8::internal::OrderedHashTable< OrderedNameDictionary, 3 >
InternalIndex FindEntry (Isolate *isolate, Tagged< Object > key)
 
int NumberOfElements () const
 
int NumberOfDeletedElements () const
 
int UsedCapacity () const
 
int Capacity ()
 
int NumberOfBuckets () const
 
InternalIndex::Range IterateEntries ()
 
Tagged< ObjectKeyAt (InternalIndex entry)
 
bool ToKey (ReadOnlyRoots roots, InternalIndex entry, Tagged< Object > *out_key)
 
bool IsObsolete ()
 
Tagged< OrderedNameDictionaryNextTable ()
 
int RemovedIndexAt (int index)
 
- Public Member Functions inherited from v8::internal::FixedArray
void MoveElements (Isolate *isolate, int dst_index, int src_index, int len, WriteBarrierMode mode)
 
void CopyElements (Isolate *isolate, int dst_index, Tagged< FixedArray > src, int src_index, int len, WriteBarrierMode mode)
 
V8_EXPORT_PRIVATE void RightTrim (Isolate *isolate, int new_capacity)
 
void FillWithHoles (int from, int to)
 
bool is_the_hole (Isolate *isolate, int index)
 
void set_the_hole (Isolate *isolate, int index)
 
void set_the_hole (ReadOnlyRoots ro_roots, int index)
 
template<template< typename > typename HandleType>
requires ( std::is_convertible_v<HandleType<FixedArray>, DirectHandle<FixedArray>>)
HandleType< FixedArraySetAndGrow (Isolate *isolate, HandleType< FixedArray > array, int index, DirectHandle< Object > value)
 
- Public Member Functions inherited from v8::internal::TaggedArrayBase< FixedArray, TaggedArrayShape >
Tagged< ElementTget (int index) const
 
Tagged< ElementTget (int index, RelaxedLoadTag) const
 
Tagged< ElementTget (int index, AcquireLoadTag) const
 
Tagged< ElementTget (int index, SeqCstAccessTag) const
 
void set (int index, Tagged< ElementT > value, WriteBarrierMode mode=kDefaultMode)
 
void set (int index, Tagged< Smi > value)
 
void set (int index, Tagged< ElementT > value, RelaxedStoreTag, WriteBarrierMode mode=kDefaultMode)
 
void set (int index, Tagged< Smi > value, RelaxedStoreTag)
 
void set (int index, Tagged< ElementT > value, ReleaseStoreTag, WriteBarrierMode mode=kDefaultMode)
 
void set (int index, Tagged< Smi > value, ReleaseStoreTag)
 
void set (int index, Tagged< ElementT > value, SeqCstAccessTag, WriteBarrierMode mode=kDefaultMode)
 
void set (int index, Tagged< Smi > value, SeqCstAccessTag)
 
Tagged< ElementTswap (int index, Tagged< ElementT > value, SeqCstAccessTag, WriteBarrierMode mode=kDefaultMode)
 
Tagged< ElementTcompare_and_swap (int index, Tagged< ElementT > expected, Tagged< ElementT > value, SeqCstAccessTag, WriteBarrierMode mode=kDefaultMode)
 
void RightTrim (Isolate *isolate, int new_capacity)
 
int AllocatedSize () const
 
SlotType RawFieldOfFirstElement () const
 
SlotType RawFieldOfElementAt (int index) const
 
Handle< DAllocate (IsolateT *isolate, int capacity, std::optional< DisallowGarbageCollection > *no_gc_out, AllocationType allocation)
 

Static Public Member Functions

static MaybeHandle< OrderedNameDictionaryAdd (Isolate *isolate, Handle< OrderedNameDictionary > table, DirectHandle< Name > key, DirectHandle< Object > value, PropertyDetails details)
 
static Handle< OrderedNameDictionaryDeleteEntry (Isolate *isolate, Handle< OrderedNameDictionary > table, InternalIndex entry)
 
static MaybeHandle< OrderedNameDictionaryAllocate (Isolate *isolate, int capacity, AllocationType allocation=AllocationType::kYoung)
 
static MaybeHandle< OrderedNameDictionaryAllocateEmpty (Isolate *isolate, AllocationType allocation=AllocationType::kReadOnly)
 
template<template< typename > typename HandleType>
requires (std::is_convertible_v<HandleType<OrderedNameDictionary>, DirectHandle<OrderedNameDictionary>>)
static HandleType< OrderedNameDictionary >::MaybeType Rehash (Isolate *isolate, HandleType< OrderedNameDictionary > table, int new_capacity)
 
static Tagged< HeapObjectGetEmpty (ReadOnlyRoots ro_roots)
 
static Handle< MapGetMap (RootsTable &roots)
 
static bool Is (DirectHandle< HeapObject > table)
 
static constexpr int HashIndex ()
 
- Static Public Member Functions inherited from v8::internal::OrderedHashTable< OrderedNameDictionary, 3 >
static HandleType< OrderedNameDictionary >::MaybeType EnsureCapacityForAdding (Isolate *isolate, HandleType< OrderedNameDictionary > table)
 
static HandleType< OrderedNameDictionaryShrink (Isolate *isolate, HandleType< OrderedNameDictionary > table)
 
static Handle< OrderedNameDictionaryClear (Isolate *isolate, Handle< OrderedNameDictionary > table)
 
static bool HasKey (Isolate *isolate, Tagged< OrderedNameDictionary > table, Tagged< Object > key)
 
static bool IsKey (ReadOnlyRoots roots, Tagged< Object > k)
 
static bool Delete (Isolate *isolate, Tagged< OrderedNameDictionary > table, Tagged< Object > key)
 
static constexpr int PrefixIndex ()
 
static constexpr int NumberOfElementsIndex ()
 
static constexpr int NextTableIndex ()
 
static constexpr int NumberOfDeletedElementsIndex ()
 
static constexpr int NumberOfBucketsIndex ()
 
static constexpr int HashTableStartIndex ()
 
static constexpr int RemovedHolesIndex ()
 
static constexpr int NumberOfElementsOffset ()
 
static constexpr int NextTableOffset ()
 
static constexpr int NumberOfDeletedElementsOffset ()
 
static constexpr int NumberOfBucketsOffset ()
 
static constexpr int HashTableStartOffset ()
 
static constexpr int MaxCapacity ()
 
- Static Public Member Functions inherited from v8::internal::FixedArray
template<class IsolateT >
static Handle< FixedArrayNew (IsolateT *isolate, int capacity, AllocationType allocation=AllocationType::kYoung)
 
template<template< typename > typename HandleType>
requires ( std::is_convertible_v<HandleType<FixedArray>, DirectHandle<FixedArray>>)
static V8_EXPORT_PRIVATE HandleType< FixedArraySetAndGrow (Isolate *isolate, HandleType< FixedArray > array, int index, DirectHandle< Object > value)
 
template<template< typename > typename HandleType>
requires ( std::is_convertible_v<HandleType<FixedArray>, DirectHandle<FixedArray>>)
static HandleType< FixedArrayRightTrimOrEmpty (Isolate *isolate, HandleType< FixedArray > array, int new_length)
 
- Static Public Member Functions inherited from v8::internal::TaggedArrayBase< FixedArray, TaggedArrayShape >
static void MoveElements (Isolate *isolate, Tagged< FixedArray > dst, int dst_index, Tagged< FixedArray > src, int src_index, int len, WriteBarrierMode mode=kDefaultMode)
 
static void CopyElements (Isolate *isolate, Tagged< FixedArray > dst, int dst_index, Tagged< FixedArray > src, int src_index, int len, WriteBarrierMode mode=kDefaultMode)
 
static constexpr int SizeFor (int capacity)
 
static constexpr int OffsetOfElementAt (int index)
 

Static Public Attributes

static const int kValueOffset = 1
 
static const int kPropertyDetailsOffset = 2
 
static const int kPrefixSize = 1
 
static const bool kIsOrderedDictionaryType = true
 
- Static Public Attributes inherited from v8::internal::OrderedHashTable< OrderedNameDictionary, 3 >
static const int kEntrySize
 
static const int kEntrySizeWithoutChain
 
static const int kChainOffset
 
static const int kNotFound
 
static const int kInitialCapacity
 
static const int kLoadFactor
 
static const int kClearedTableSentinel
 
- Static Public Attributes inherited from v8::internal::FixedArray
static constexpr int kMaxLength = FixedArray::kMaxCapacity
 
static constexpr int kMaxRegularLength = FixedArray::kMaxRegularCapacity
 
- Static Public Attributes inherited from v8::internal::TaggedArrayBase< FixedArray, TaggedArrayShape >
static constexpr bool kElementsAreMaybeObject
 
static constexpr int kElementSize
 
static constexpr int kMaxCapacity
 
static constexpr int kMaxRegularCapacity
 

Private Types

using Base = OrderedHashTable<OrderedNameDictionary, 3>
 

Additional Inherited Members

- Public Types inherited from v8::internal::TaggedArrayBase< FixedArray, TaggedArrayShape >
using Header
 
using Shape
 
- Protected Member Functions inherited from v8::internal::OrderedHashTable< OrderedNameDictionary, 3 >
int HashToEntryRaw (int hash)
 
int NextChainEntryRaw (int entry)
 
int EntryToIndexRaw (int entry)
 
int EntryToIndex (InternalIndex entry)
 
int HashToBucket (int hash)
 
void SetNumberOfBuckets (int num)
 
void SetNumberOfElements (int num)
 
void SetNumberOfDeletedElements (int num)
 
void SetNextTable (Tagged< OrderedNameDictionary > next_table)
 
void SetRemovedIndexAt (int index, int removed_index)
 
- Protected Member Functions inherited from v8::internal::TaggedArrayBase< FixedArray, TaggedArrayShape >
bool IsInBounds (int index) const
 
bool IsCowArray () const
 
 FLEXIBLE_ARRAY_MEMBER (ElementMemberT, objects)
 
- Static Protected Member Functions inherited from v8::internal::OrderedHashTable< OrderedNameDictionary, 3 >
static MaybeHandle< OrderedNameDictionaryAllocate (Isolate *isolate, int capacity, AllocationType allocation=AllocationType::kYoung)
 
static MaybeHandle< OrderedNameDictionaryAllocateEmpty (Isolate *isolate, AllocationType allocation, RootIndex root_ndex)
 
static HandleType< OrderedNameDictionary >::MaybeType Rehash (Isolate *isolate, HandleType< OrderedNameDictionary > table)
 
static HandleType< OrderedNameDictionary >::MaybeType Rehash (Isolate *isolate, HandleType< OrderedNameDictionary > table, int new_capacity)
 
- Static Protected Member Functions inherited from v8::internal::TaggedArrayBase< FixedArray, TaggedArrayShape >
static Handle< FixedArrayAllocate (IsolateT *isolate, int capacity, std::optional< DisallowGarbageCollection > *no_gc_out, AllocationType allocation=AllocationType::kYoung)
 
static constexpr int NewCapacityForIndex (int index, int old_capacity)
 

Detailed Description

Definition at line 777 of file ordered-hash-table.h.

Member Typedef Documentation

◆ Base

Member Function Documentation

◆ Add()

MaybeHandle< OrderedNameDictionary > v8::internal::OrderedNameDictionary::Add ( Isolate * isolate,
Handle< OrderedNameDictionary > table,
DirectHandle< Name > key,
DirectHandle< Object > value,
PropertyDetails details )
static

Definition at line 532 of file ordered-hash-table.cc.

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

◆ Allocate()

MaybeHandle< OrderedNameDictionary > v8::internal::OrderedNameDictionary::Allocate ( Isolate * isolate,
int capacity,
AllocationType allocation = AllocationType::kYoung )
static

Definition at line 615 of file ordered-hash-table.cc.

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

◆ AllocateEmpty()

MaybeHandle< OrderedNameDictionary > v8::internal::OrderedNameDictionary::AllocateEmpty ( Isolate * isolate,
AllocationType allocation = AllocationType::kReadOnly )
static

Definition at line 638 of file ordered-hash-table.cc.

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

◆ DeleteEntry()

Handle< OrderedNameDictionary > v8::internal::OrderedNameDictionary::DeleteEntry ( Isolate * isolate,
Handle< OrderedNameDictionary > table,
InternalIndex entry )
static

Definition at line 585 of file ordered-hash-table.cc.

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

◆ DetailsAt()

PropertyDetails v8::internal::OrderedNameDictionary::DetailsAt ( InternalIndex entry)
inline

Definition at line 117 of file ordered-hash-table-inl.h.

Here is the call graph for this function:

◆ DetailsAtPut()

void v8::internal::OrderedNameDictionary::DetailsAtPut ( InternalIndex entry,
PropertyDetails value )
inline

Definition at line 124 of file ordered-hash-table-inl.h.

Here is the call graph for this function:

◆ FindEntry() [1/2]

template<typename IsolateT >
InternalIndex v8::internal::OrderedNameDictionary::FindEntry ( IsolateT * isolate,
DirectHandle< Object > key )
inline

Definition at line 801 of file ordered-hash-table.h.

Here is the call graph for this function:

◆ FindEntry() [2/2]

template<typename IsolateT >
InternalIndex v8::internal::OrderedNameDictionary::FindEntry ( IsolateT * isolate,
Tagged< Object > key )

Definition at line 502 of file ordered-hash-table.cc.

Here is the call graph for this function:

◆ GetEmpty()

static Tagged< HeapObject > v8::internal::OrderedNameDictionary::GetEmpty ( ReadOnlyRoots ro_roots)
static

◆ GetMap()

Handle< Map > v8::internal::OrderedNameDictionary::GetMap ( RootsTable & roots)
inlinestatic

Definition at line 68 of file ordered-hash-table-inl.h.

◆ Hash()

int v8::internal::OrderedNameDictionary::Hash ( )
inline

Definition at line 216 of file ordered-hash-table-inl.h.

Here is the call graph for this function:

◆ HashIndex()

static constexpr int v8::internal::OrderedNameDictionary::HashIndex ( )
inlinestaticconstexpr

Definition at line 849 of file ordered-hash-table.h.

Here is the caller graph for this function:

◆ Is()

bool v8::internal::OrderedNameDictionary::Is ( DirectHandle< HeapObject > table)
inlinestatic

Definition at line 164 of file ordered-hash-table-inl.h.

◆ NameAt()

Tagged< Name > v8::internal::OrderedNameDictionary::NameAt ( InternalIndex entry)
inline

Definition at line 94 of file ordered-hash-table-inl.h.

Here is the call graph for this function:

◆ Rehash()

template<template< typename > typename HandleType>
requires (std::is_convertible_v<HandleType<OrderedNameDictionary>, DirectHandle<OrderedNameDictionary>>)
template V8_EXPORT_PRIVATE MaybeDirectHandle< OrderedNameDictionary > v8::internal::OrderedNameDictionary::Rehash ( Isolate * isolate,
HandleType< OrderedNameDictionary > table,
int new_capacity )
static

Definition at line 394 of file ordered-hash-table.cc.

◆ SetEntry()

void v8::internal::OrderedNameDictionary::SetEntry ( InternalIndex entry,
Tagged< Object > key,
Tagged< Object > value,
PropertyDetails details )

Definition at line 569 of file ordered-hash-table.cc.

Here is the call graph for this function:

◆ SetHash()

void v8::internal::OrderedNameDictionary::SetHash ( int hash)
inline

Definition at line 211 of file ordered-hash-table-inl.h.

Here is the call graph for this function:

◆ ValueAt()

Tagged< Object > v8::internal::OrderedNameDictionary::ValueAt ( InternalIndex entry)
inline

Definition at line 89 of file ordered-hash-table-inl.h.

Here is the call graph for this function:

◆ ValueAtPut()

void v8::internal::OrderedNameDictionary::ValueAtPut ( InternalIndex entry,
Tagged< Object > value )
inline

Definition at line 110 of file ordered-hash-table-inl.h.

Here is the call graph for this function:

Member Data Documentation

◆ kIsOrderedDictionaryType

const bool v8::internal::OrderedNameDictionary::kIsOrderedDictionaryType = true
static

Definition at line 851 of file ordered-hash-table.h.

◆ kPrefixSize

const int v8::internal::OrderedNameDictionary::kPrefixSize = 1
static

Definition at line 847 of file ordered-hash-table.h.

◆ kPropertyDetailsOffset

const int v8::internal::OrderedNameDictionary::kPropertyDetailsOffset = 2
static

Definition at line 846 of file ordered-hash-table.h.

◆ kValueOffset

const int v8::internal::OrderedNameDictionary::kValueOffset = 1
static

Definition at line 845 of file ordered-hash-table.h.


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