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

#include <identity-map.h>

Inheritance diagram for v8::internal::IdentityMap< V, AllocationPolicy >:
Collaboration diagram for v8::internal::IdentityMap< V, AllocationPolicy >:

Classes

struct  Buffer
 
class  IteratableScope
 
class  Iterator
 

Public Member Functions

 IdentityMap (Heap *heap, AllocationPolicy allocator=AllocationPolicy())
 
 IdentityMap (const IdentityMap &)=delete
 
IdentityMapoperator= (const IdentityMap &)=delete
 
 ~IdentityMap () override
 
IdentityMapFindResult< VFindOrInsert (DirectHandle< Object > key)
 
IdentityMapFindResult< VFindOrInsert (Tagged< Object > key)
 
VFind (DirectHandle< Object > key) const
 
VFind (Tagged< Object > key) const
 
void Insert (DirectHandle< Object > key, V v)
 
void Insert (Tagged< Object > key, V v)
 
bool Delete (DirectHandle< Object > key, V *deleted_value)
 
bool Delete (Tagged< Object > key, V *deleted_value)
 
void Clear ()
 
- Public Member Functions inherited from v8::internal::IdentityMapBase
 IdentityMapBase (const IdentityMapBase &)=delete
 
IdentityMapBaseoperator= (const IdentityMapBase &)=delete
 
bool empty () const
 
int size () const
 
int capacity () const
 
bool is_iterable () const
 

Protected Member Functions

uintptr_t * NewPointerArray (size_t length, uintptr_t value) override
 
void DeletePointerArray (uintptr_t *array, size_t length) override
 
- Protected Member Functions inherited from v8::internal::IdentityMapBase
 IdentityMapBase (Heap *heap)
 
virtual ~IdentityMapBase ()
 
IdentityMapFindResult< uintptr_t > FindOrInsertEntry (Address key)
 
RawEntry FindEntry (Address key) const
 
RawEntry InsertEntry (Address key)
 
bool DeleteEntry (Address key, uintptr_t *deleted_value)
 
void Clear ()
 
Address KeyAtIndex (int index) const
 
RawEntry EntryAtIndex (int index) const
 
int NextIndex (int index) const
 
void EnableIteration ()
 
void DisableIteration ()
 

Private Attributes

AllocationPolicy allocator_
 

Additional Inherited Members

- Protected Types inherited from v8::internal::IdentityMapBase
using RawEntry = uintptr_t*
 

Detailed Description

template<typename V, class AllocationPolicy>
class v8::internal::IdentityMap< V, AllocationPolicy >

Definition at line 116 of file identity-map.h.

Constructor & Destructor Documentation

◆ IdentityMap() [1/2]

template<typename V , class AllocationPolicy >
v8::internal::IdentityMap< V, AllocationPolicy >::IdentityMap ( Heap * heap,
AllocationPolicy allocator = AllocationPolicy() )
inlineexplicit

Definition at line 122 of file identity-map.h.

◆ IdentityMap() [2/2]

template<typename V , class AllocationPolicy >
v8::internal::IdentityMap< V, AllocationPolicy >::IdentityMap ( const IdentityMap< V, AllocationPolicy > & )
delete

◆ ~IdentityMap()

template<typename V , class AllocationPolicy >
v8::internal::IdentityMap< V, AllocationPolicy >::~IdentityMap ( )
inlineoverride

Definition at line 127 of file identity-map.h.

Here is the call graph for this function:

Member Function Documentation

◆ Clear()

template<typename V , class AllocationPolicy >
void v8::internal::IdentityMap< V, AllocationPolicy >::Clear ( )
inline

Definition at line 170 of file identity-map.h.

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

◆ Delete() [1/2]

template<typename V , class AllocationPolicy >
bool v8::internal::IdentityMap< V, AllocationPolicy >::Delete ( DirectHandle< Object > key,
V * deleted_value )
inline

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

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

◆ Delete() [2/2]

template<typename V , class AllocationPolicy >
bool v8::internal::IdentityMap< V, AllocationPolicy >::Delete ( Tagged< Object > key,
V * deleted_value )
inline

Definition at line 160 of file identity-map.h.

Here is the call graph for this function:

◆ DeletePointerArray()

template<typename V , class AllocationPolicy >
void v8::internal::IdentityMap< V, AllocationPolicy >::DeletePointerArray ( uintptr_t * array,
size_t length )
inlineoverrideprotectedvirtual

Implements v8::internal::IdentityMapBase.

Definition at line 239 of file identity-map.h.

Here is the call graph for this function:

◆ Find() [1/2]

template<typename V , class AllocationPolicy >
V * v8::internal::IdentityMap< V, AllocationPolicy >::Find ( DirectHandle< Object > key) const
inline

Definition at line 145 of file identity-map.h.

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

◆ Find() [2/2]

template<typename V , class AllocationPolicy >
V * v8::internal::IdentityMap< V, AllocationPolicy >::Find ( Tagged< Object > key) const
inline

Definition at line 146 of file identity-map.h.

Here is the call graph for this function:

◆ FindOrInsert() [1/2]

template<typename V , class AllocationPolicy >
IdentityMapFindResult< V > v8::internal::IdentityMap< V, AllocationPolicy >::FindOrInsert ( DirectHandle< Object > key)
inline

Definition at line 133 of file identity-map.h.

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

◆ FindOrInsert() [2/2]

template<typename V , class AllocationPolicy >
IdentityMapFindResult< V > v8::internal::IdentityMap< V, AllocationPolicy >::FindOrInsert ( Tagged< Object > key)
inline

Definition at line 136 of file identity-map.h.

Here is the call graph for this function:

◆ Insert() [1/2]

template<typename V , class AllocationPolicy >
void v8::internal::IdentityMap< V, AllocationPolicy >::Insert ( DirectHandle< Object > key,
V v )
inline

Definition at line 152 of file identity-map.h.

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

◆ Insert() [2/2]

template<typename V , class AllocationPolicy >
void v8::internal::IdentityMap< V, AllocationPolicy >::Insert ( Tagged< Object > key,
V v )
inline

Definition at line 153 of file identity-map.h.

Here is the call graph for this function:

◆ NewPointerArray()

template<typename V , class AllocationPolicy >
uintptr_t * v8::internal::IdentityMap< V, AllocationPolicy >::NewPointerArray ( size_t length,
uintptr_t value )
inlineoverrideprotectedvirtual

Implements v8::internal::IdentityMapBase.

Definition at line 233 of file identity-map.h.

◆ operator=()

template<typename V , class AllocationPolicy >
IdentityMap & v8::internal::IdentityMap< V, AllocationPolicy >::operator= ( const IdentityMap< V, AllocationPolicy > & )
delete

Member Data Documentation

◆ allocator_

template<typename V , class AllocationPolicy >
AllocationPolicy v8::internal::IdentityMap< V, AllocationPolicy >::allocator_
private

Definition at line 244 of file identity-map.h.


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