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

Public Member Functions

 Data (int capacity)
 
Tagged< ObjectGetKey (PtrComprCageBase cage_base, InternalIndex index) const
 
void SetKey (InternalIndex index, Tagged< Object > key)
 
void Set (InternalIndex index, Tagged< Map > map)
 
void CopyEntryExcludingKeyInto (PtrComprCageBase cage_base, InternalIndex from_index, Data *to, InternalIndex to_index)
 
void * operator new (size_t size, int capacity)
 
void * operator new (size_t size)=delete
 
void operator delete (void *table)
 
- Public Member Functions inherited from v8::internal::OffHeapHashTableBase< Data >
int capacity () const
 
int number_of_elements () const
 
int number_of_deleted_elements () const
 
OffHeapObjectSlot slot (InternalIndex index, int offset=0) const
 
void AddAt (PtrComprCageBase cage_base, InternalIndex entry, Args &&... args)
 
void OverwriteDeletedAt (PtrComprCageBase cage_base, InternalIndex entry, Args &&... args)
 
void ElementsRemoved (int count)
 
size_t GetSizeExcludingHeader () const
 
InternalIndex FindEntry (IsolateT *isolate, FindKey key, uint32_t hash) const
 
InternalIndex FindInsertionEntry (PtrComprCageBase cage_base, uint32_t hash) const
 
InternalIndex FindEntryOrInsertionEntry (IsolateT *isolate, FindKey key, uint32_t hash) const
 
bool ShouldResizeToAdd (int number_of_additional_elements, int *new_capacity)
 
void RehashInto (PtrComprCageBase cage_base, Data *new_table)
 
void IterateElements (Root root, RootVisitor *visitor)
 

Static Public Member Functions

static uint32_t Hash (PtrComprCageBase cage_base, Tagged< Object > key)
 
template<typename IsolateT >
static bool KeyIsMatch (IsolateT *isolate, DirectHandle< String > key, Tagged< Object > obj)
 
static std::unique_ptr< DataNew (int capacity)
 
- Static Public Member Functions inherited from v8::internal::OffHeapHashTableBase< Data >
static constexpr Tagged< Smiempty_element ()
 
static constexpr Tagged< Smideleted_element ()
 
static bool IsKey (Tagged< Object > k)
 

Static Public Attributes

static constexpr int kEntrySize = 1
 
static constexpr int kMaxEmptyFactor = 4
 
static constexpr int kMinCapacity = 4
 

Additional Inherited Members

- Protected Member Functions inherited from v8::internal::OffHeapHashTableBase< Data >
 OffHeapHashTableBase (int capacity)
 
bool HasSufficientCapacityToAdd (int number_of_additional_elements) const
 
- Static Protected Member Functions inherited from v8::internal::OffHeapHashTableBase< Data >
static size_t GetSizeExcludingHeader (int capacity)
 
static InternalIndex FirstProbe (uint32_t hash, uint32_t size)
 
static InternalIndex NextProbe (InternalIndex last, uint32_t number, uint32_t size)
 
static bool HasSufficientCapacityToAdd (int capacity, int number_of_elements, int number_of_deleted_elements, int number_of_additional_elements)
 
static int ComputeCapacity (int at_least_space_for)
 
static int ComputeCapacityWithShrink (int current_capacity, int at_least_space_for)
 
static void * Allocate (int capacity)
 
static void Free (void *container)
 
- Protected Attributes inherited from v8::internal::OffHeapHashTableBase< Data >
int number_of_elements_
 
int number_of_deleted_elements_
 
const int capacity_
 
Tagged_t elements_ [1]
 

Detailed Description

Definition at line 310 of file js-struct.cc.

Constructor & Destructor Documentation

◆ Data()

v8::internal::SharedStructTypeRegistry::Data::Data ( int capacity)
inlineexplicit

Definition at line 316 of file js-struct.cc.

Here is the caller graph for this function:

Member Function Documentation

◆ CopyEntryExcludingKeyInto()

void v8::internal::SharedStructTypeRegistry::Data::CopyEntryExcludingKeyInto ( PtrComprCageBase cage_base,
InternalIndex from_index,
Data * to,
InternalIndex to_index )
inline

Definition at line 348 of file js-struct.cc.

◆ GetKey()

Tagged< Object > v8::internal::SharedStructTypeRegistry::Data::GetKey ( PtrComprCageBase cage_base,
InternalIndex index ) const
inline

Definition at line 338 of file js-struct.cc.

Here is the call graph for this function:

◆ Hash()

static uint32_t v8::internal::SharedStructTypeRegistry::Data::Hash ( PtrComprCageBase cage_base,
Tagged< Object > key )
inlinestatic

Definition at line 318 of file js-struct.cc.

Here is the call graph for this function:

◆ KeyIsMatch()

template<typename IsolateT >
static bool v8::internal::SharedStructTypeRegistry::Data::KeyIsMatch ( IsolateT * isolate,
DirectHandle< String > key,
Tagged< Object > obj )
inlinestatic

Definition at line 328 of file js-struct.cc.

Here is the call graph for this function:

◆ New()

static std::unique_ptr< Data > v8::internal::SharedStructTypeRegistry::Data::New ( int capacity)
inlinestatic

Definition at line 354 of file js-struct.cc.

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

◆ operator delete()

void v8::internal::SharedStructTypeRegistry::Data::operator delete ( void * table)
inline

Definition at line 367 of file js-struct.cc.

Here is the call graph for this function:

◆ operator new() [1/2]

void * v8::internal::SharedStructTypeRegistry::Data::operator new ( size_t size)
delete

◆ operator new() [2/2]

void * v8::internal::SharedStructTypeRegistry::Data::operator new ( size_t size,
int capacity )
inline

Definition at line 358 of file js-struct.cc.

Here is the call graph for this function:

◆ Set()

void v8::internal::SharedStructTypeRegistry::Data::Set ( InternalIndex index,
Tagged< Map > map )
inline

Definition at line 346 of file js-struct.cc.

Here is the call graph for this function:

◆ SetKey()

void v8::internal::SharedStructTypeRegistry::Data::SetKey ( InternalIndex index,
Tagged< Object > key )
inline

Definition at line 342 of file js-struct.cc.

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

Member Data Documentation

◆ kEntrySize

int v8::internal::SharedStructTypeRegistry::Data::kEntrySize = 1
staticconstexpr

Definition at line 312 of file js-struct.cc.

◆ kMaxEmptyFactor

int v8::internal::SharedStructTypeRegistry::Data::kMaxEmptyFactor = 4
staticconstexpr

Definition at line 313 of file js-struct.cc.

◆ kMinCapacity

int v8::internal::SharedStructTypeRegistry::Data::kMinCapacity = 4
staticconstexpr

Definition at line 314 of file js-struct.cc.


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