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

Public Member Functions

 SyncWaiterQueueNode (Isolate *requester)
 
void Wait ()
 
bool WaitFor (const base::TimeDelta &rel_time)
 
void Notify () override
 
bool IsSameIsolateForAsyncCleanup (Isolate *isolate) override
 
void CleanupMatchingAsyncWaiters (const DequeueMatcher &matcher) override
 
- Public Member Functions inherited from v8::internal::detail::WaiterQueueNode
virtual ~WaiterQueueNode ()
 
uint32_t NotifyAllInList ()
 

Private Member Functions

void SetReadyForAsyncCleanup () override
 

Private Attributes

base::Mutex wait_lock_
 
base::ConditionVariable wait_cond_var_
 
bool should_wait_
 

Additional Inherited Members

- Public Types inherited from v8::internal::detail::WaiterQueueNode
using DequeueMatcher = std::function<bool(WaiterQueueNode*)>
 
- Static Public Member Functions inherited from v8::internal::detail::WaiterQueueNode
static void Enqueue (WaiterQueueNode **head, WaiterQueueNode *new_tail)
 
static WaiterQueueNodeDequeueMatching (WaiterQueueNode **head, const DequeueMatcher &matcher)
 
static void DequeueAllMatchingForAsyncCleanup (WaiterQueueNode **head, const DequeueMatcher &matcher)
 
static WaiterQueueNodeDequeue (WaiterQueueNode **head)
 
static WaiterQueueNodeSplit (WaiterQueueNode **head, uint32_t count)
 
static int LengthFromHead (WaiterQueueNode *head)
 
- Protected Member Functions inherited from v8::internal::detail::WaiterQueueNode
 WaiterQueueNode (Isolate *requester)
 
void SetNotInListForVerification ()
 
- Protected Attributes inherited from v8::internal::detail::WaiterQueueNode
Isolaterequester_
 
WaiterQueueNodenext_ = nullptr
 
WaiterQueueNodeprev_ = nullptr
 

Detailed Description

Definition at line 169 of file js-atomics-synchronization.cc.

Constructor & Destructor Documentation

◆ SyncWaiterQueueNode()

v8::internal::detail::SyncWaiterQueueNode::SyncWaiterQueueNode ( Isolate * requester)
inlineexplicit

Definition at line 171 of file js-atomics-synchronization.cc.

Member Function Documentation

◆ CleanupMatchingAsyncWaiters()

void v8::internal::detail::SyncWaiterQueueNode::CleanupMatchingAsyncWaiters ( const DequeueMatcher & matcher)
inlineoverridevirtual

◆ IsSameIsolateForAsyncCleanup()

bool v8::internal::detail::SyncWaiterQueueNode::IsSameIsolateForAsyncCleanup ( Isolate * isolate)
inlineoverridevirtual

◆ Notify()

void v8::internal::detail::SyncWaiterQueueNode::Notify ( )
inlineoverridevirtual

◆ SetReadyForAsyncCleanup()

void v8::internal::detail::SyncWaiterQueueNode::SetReadyForAsyncCleanup ( )
inlineoverrideprivatevirtual

◆ Wait()

void v8::internal::detail::SyncWaiterQueueNode::Wait ( )
inline

Definition at line 174 of file js-atomics-synchronization.cc.

Here is the caller graph for this function:

◆ WaitFor()

bool v8::internal::detail::SyncWaiterQueueNode::WaitFor ( const base::TimeDelta & rel_time)
inline

Definition at line 185 of file js-atomics-synchronization.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ should_wait_

bool v8::internal::detail::SyncWaiterQueueNode::should_wait_
private

Definition at line 235 of file js-atomics-synchronization.cc.

◆ wait_cond_var_

base::ConditionVariable v8::internal::detail::SyncWaiterQueueNode::wait_cond_var_
private

Definition at line 234 of file js-atomics-synchronization.cc.

◆ wait_lock_

base::Mutex v8::internal::detail::SyncWaiterQueueNode::wait_lock_
private

Definition at line 233 of file js-atomics-synchronization.cc.


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