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

Public Member Functions

 WaiterQueueLockGuard (std::atomic< StateT > *state, StateT &current_state)
 
 WaiterQueueLockGuard (std::atomic< StateT > *state, bool is_locked)
 
 WaiterQueueLockGuard (const WaiterQueueLockGuard &)=delete
 
 WaiterQueueLockGuard ()=delete
 
 ~WaiterQueueLockGuard ()
 
void set_new_state (StateT new_state)
 

Static Public Member Functions

static std::optional< WaiterQueueLockGuardNewAlreadyLockedWaiterQueueLockGuard (std::atomic< StateT > *state)
 

Private Types

using StateT = JSSynchronizationPrimitive::StateT
 

Private Attributes

std::atomic< StateT > * state_
 
StateT new_state_
 

Static Private Attributes

static constexpr StateT kInvalidState
 

Detailed Description

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

Member Typedef Documentation

◆ StateT

Constructor & Destructor Documentation

◆ WaiterQueueLockGuard() [1/4]

v8::internal::detail::WaiterQueueLockGuard::WaiterQueueLockGuard ( std::atomic< StateT > * state,
StateT & current_state )
inlineexplicit

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

◆ WaiterQueueLockGuard() [2/4]

v8::internal::detail::WaiterQueueLockGuard::WaiterQueueLockGuard ( std::atomic< StateT > * state,
bool is_locked )
inlineexplicit

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

◆ WaiterQueueLockGuard() [3/4]

v8::internal::detail::WaiterQueueLockGuard::WaiterQueueLockGuard ( const WaiterQueueLockGuard & )
delete

◆ WaiterQueueLockGuard() [4/4]

v8::internal::detail::WaiterQueueLockGuard::WaiterQueueLockGuard ( )
delete

◆ ~WaiterQueueLockGuard()

v8::internal::detail::WaiterQueueLockGuard::~WaiterQueueLockGuard ( )
inline

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

Member Function Documentation

◆ NewAlreadyLockedWaiterQueueLockGuard()

static std::optional< WaiterQueueLockGuard > v8::internal::detail::WaiterQueueLockGuard::NewAlreadyLockedWaiterQueueLockGuard ( std::atomic< StateT > * state)
inlinestatic

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

Here is the caller graph for this function:

◆ set_new_state()

void v8::internal::detail::WaiterQueueLockGuard::set_new_state ( StateT new_state)
inline

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

Here is the caller graph for this function:

Member Data Documentation

◆ kInvalidState

StateT v8::internal::detail::WaiterQueueLockGuard::kInvalidState
staticconstexprprivate
Initial value:
=
~JSSynchronizationPrimitive::kEmptyState

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

◆ new_state_

StateT v8::internal::detail::WaiterQueueLockGuard::new_state_
private

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

◆ state_

std::atomic<StateT>* v8::internal::detail::WaiterQueueLockGuard::state_
private

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


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