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

#include <waiter-queue-node.h>

Inheritance diagram for v8::internal::detail::WaiterQueueNode:
Collaboration diagram for v8::internal::detail::WaiterQueueNode:

Public Types

using DequeueMatcher = std::function<bool(WaiterQueueNode*)>
 

Public Member Functions

virtual ~WaiterQueueNode ()
 
uint32_t NotifyAllInList ()
 
virtual void Notify ()=0
 
virtual bool IsSameIsolateForAsyncCleanup (Isolate *isolate)=0
 
virtual void CleanupMatchingAsyncWaiters (const DequeueMatcher &matcher)=0
 

Static Public Member Functions

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

 WaiterQueueNode (Isolate *requester)
 
void SetNotInListForVerification ()
 
virtual void SetReadyForAsyncCleanup ()=0
 

Protected Attributes

Isolaterequester_
 
WaiterQueueNodenext_ = nullptr
 
WaiterQueueNodeprev_ = nullptr
 

Private Member Functions

void DequeueUnchecked (WaiterQueueNode **head)
 
void VerifyNotInList ()
 

Detailed Description

Definition at line 38 of file waiter-queue-node.h.

Member Typedef Documentation

◆ DequeueMatcher

Constructor & Destructor Documentation

◆ ~WaiterQueueNode()

v8::internal::detail::WaiterQueueNode::~WaiterQueueNode ( )
virtual

Definition at line 17 of file waiter-queue-node.cc.

Here is the call graph for this function:

◆ WaiterQueueNode()

v8::internal::detail::WaiterQueueNode::WaiterQueueNode ( Isolate * requester)
explicitprotected

Definition at line 15 of file waiter-queue-node.cc.

Member Function Documentation

◆ CleanupMatchingAsyncWaiters()

virtual void v8::internal::detail::WaiterQueueNode::CleanupMatchingAsyncWaiters ( const DequeueMatcher & matcher)
pure virtual

◆ Dequeue()

WaiterQueueNode * v8::internal::detail::WaiterQueueNode::Dequeue ( WaiterQueueNode ** head)
static

Definition at line 100 of file waiter-queue-node.cc.

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

◆ DequeueAllMatchingForAsyncCleanup()

void v8::internal::detail::WaiterQueueNode::DequeueAllMatchingForAsyncCleanup ( WaiterQueueNode ** head,
const DequeueMatcher & matcher )
static

Definition at line 81 of file waiter-queue-node.cc.

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

◆ DequeueMatching()

WaiterQueueNode * v8::internal::detail::WaiterQueueNode::DequeueMatching ( WaiterQueueNode ** head,
const DequeueMatcher & matcher )
static

Definition at line 65 of file waiter-queue-node.cc.

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

◆ DequeueUnchecked()

void v8::internal::detail::WaiterQueueNode::DequeueUnchecked ( WaiterQueueNode ** head)
private

Definition at line 43 of file waiter-queue-node.cc.

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

◆ Enqueue()

void v8::internal::detail::WaiterQueueNode::Enqueue ( WaiterQueueNode ** head,
WaiterQueueNode * new_tail )
static

Definition at line 25 of file waiter-queue-node.cc.

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

◆ IsSameIsolateForAsyncCleanup()

virtual bool v8::internal::detail::WaiterQueueNode::IsSameIsolateForAsyncCleanup ( Isolate * isolate)
pure virtual

◆ LengthFromHead()

int v8::internal::detail::WaiterQueueNode::LengthFromHead ( WaiterQueueNode * head)
static

Definition at line 137 of file waiter-queue-node.cc.

Here is the caller graph for this function:

◆ Notify()

virtual void v8::internal::detail::WaiterQueueNode::Notify ( )
pure virtual

Implemented in v8::internal::detail::AsyncWaiterQueueNode< T >, and v8::internal::detail::SyncWaiterQueueNode.

Here is the caller graph for this function:

◆ NotifyAllInList()

uint32_t v8::internal::detail::WaiterQueueNode::NotifyAllInList ( )

Definition at line 147 of file waiter-queue-node.cc.

Here is the call graph for this function:

◆ SetNotInListForVerification()

void v8::internal::detail::WaiterQueueNode::SetNotInListForVerification ( )
protected

Definition at line 164 of file waiter-queue-node.cc.

Here is the caller graph for this function:

◆ SetReadyForAsyncCleanup()

virtual void v8::internal::detail::WaiterQueueNode::SetReadyForAsyncCleanup ( )
protectedpure virtual

Implemented in v8::internal::detail::AsyncWaiterQueueNode< T >, and v8::internal::detail::SyncWaiterQueueNode.

Here is the caller graph for this function:

◆ Split()

WaiterQueueNode * v8::internal::detail::WaiterQueueNode::Split ( WaiterQueueNode ** head,
uint32_t count )
static

Definition at line 105 of file waiter-queue-node.cc.

Here is the caller graph for this function:

◆ VerifyNotInList()

void v8::internal::detail::WaiterQueueNode::VerifyNotInList ( )
private

Definition at line 159 of file waiter-queue-node.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ next_

WaiterQueueNode* v8::internal::detail::WaiterQueueNode::next_ = nullptr
protected

Definition at line 85 of file waiter-queue-node.h.

◆ prev_

WaiterQueueNode* v8::internal::detail::WaiterQueueNode::prev_ = nullptr
protected

Definition at line 86 of file waiter-queue-node.h.

◆ requester_

Isolate* v8::internal::detail::WaiterQueueNode::requester_
protected

Definition at line 82 of file waiter-queue-node.h.


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