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

Classes

struct  HeadAndTail
 

Public Member Functions

 FutexWaitList ()=default
 
 FutexWaitList (const FutexWaitList &)=delete
 
FutexWaitListoperator= (const FutexWaitList &)=delete
 
void AddNode (FutexWaitListNode *node)
 
void RemoveNode (FutexWaitListNode *node)
 
void Verify () const
 
base::Mutexmutex ()
 

Static Public Member Functions

static void * ToWaitLocation (Tagged< JSArrayBuffer > array_buffer, size_t addr)
 
static FutexWaitListNodeDeleteAsyncWaiterNode (FutexWaitListNode *node)
 
static void DeleteNodesForIsolate (Isolate *isolate, FutexWaitListNode **head, FutexWaitListNode **tail)
 
static bool NodeIsOnList (FutexWaitListNode *node, FutexWaitListNode *head)
 

Private Attributes

base::Mutex mutex_
 
base::SmallMap< std::map< void *, HeadAndTail >, 16 > location_lists_
 
base::SmallMap< std::map< Isolate *, HeadAndTail > > isolate_promises_to_resolve_
 

Friends

class FutexEmulation
 

Detailed Description

Definition at line 27 of file futex-emulation.cc.

Constructor & Destructor Documentation

◆ FutexWaitList() [1/2]

v8::internal::FutexWaitList::FutexWaitList ( )
default

◆ FutexWaitList() [2/2]

v8::internal::FutexWaitList::FutexWaitList ( const FutexWaitList & )
delete

Member Function Documentation

◆ AddNode()

void v8::internal::FutexWaitList::AddNode ( FutexWaitListNode * node)

Definition at line 213 of file futex-emulation.cc.

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

◆ DeleteAsyncWaiterNode()

static FutexWaitListNode * v8::internal::FutexWaitList::DeleteAsyncWaiterNode ( FutexWaitListNode * node)
inlinestatic

Definition at line 46 of file futex-emulation.cc.

Here is the caller graph for this function:

◆ DeleteNodesForIsolate()

static void v8::internal::FutexWaitList::DeleteNodesForIsolate ( Isolate * isolate,
FutexWaitListNode ** head,
FutexWaitListNode ** tail )
inlinestatic

Definition at line 60 of file futex-emulation.cc.

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

◆ mutex()

base::Mutex * v8::internal::FutexWaitList::mutex ( )
inline

Definition at line 88 of file futex-emulation.cc.

Here is the caller graph for this function:

◆ NodeIsOnList()

bool v8::internal::FutexWaitList::NodeIsOnList ( FutexWaitListNode * node,
FutexWaitListNode * head )
static

Definition at line 992 of file futex-emulation.cc.

Here is the caller graph for this function:

◆ operator=()

FutexWaitList & v8::internal::FutexWaitList::operator= ( const FutexWaitList & )
delete

◆ RemoveNode()

void v8::internal::FutexWaitList::RemoveNode ( FutexWaitListNode * node)

Definition at line 227 of file futex-emulation.cc.

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

◆ ToWaitLocation()

static void * v8::internal::FutexWaitList::ToWaitLocation ( Tagged< JSArrayBuffer > array_buffer,
size_t addr )
inlinestatic

Definition at line 36 of file futex-emulation.cc.

Here is the caller graph for this function:

◆ Verify()

void v8::internal::FutexWaitList::Verify ( ) const

Definition at line 954 of file futex-emulation.cc.

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

Friends And Related Symbol Documentation

◆ FutexEmulation

friend class FutexEmulation
friend

Definition at line 91 of file futex-emulation.cc.

Member Data Documentation

◆ isolate_promises_to_resolve_

base::SmallMap<std::map<Isolate*, HeadAndTail> > v8::internal::FutexWaitList::isolate_promises_to_resolve_
private

Definition at line 114 of file futex-emulation.cc.

◆ location_lists_

base::SmallMap<std::map<void*, HeadAndTail>, 16> v8::internal::FutexWaitList::location_lists_
private

Definition at line 110 of file futex-emulation.cc.

◆ mutex_

base::Mutex v8::internal::FutexWaitList::mutex_
private

Definition at line 103 of file futex-emulation.cc.


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