![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <js-atomics-synchronization.h>
Public Types | |
enum | { kMutexAsyncContextSlot = Context::MIN_CONTEXT_SLOTS , kConditionVariableAsyncContextSlot , kAsyncContextLength } |
using | AsyncWaiterNodeType = WaitAsyncWaiterQueueNode |
Static Public Member Functions | |
static V8_EXPORT_PRIVATE bool | WaitFor (Isolate *requester, DirectHandle< JSAtomicsCondition > cv, DirectHandle< JSAtomicsMutex > mutex, std::optional< base::TimeDelta > timeout) |
static V8_EXPORT_PRIVATE MaybeDirectHandle< JSReceiver > | WaitAsync (Isolate *requester, DirectHandle< JSAtomicsCondition > cv, DirectHandle< JSAtomicsMutex > mutex, std::optional< base::TimeDelta > timeout) |
static void | HandleAsyncNotify (WaitAsyncWaiterQueueNode *node) |
static void | HandleAsyncTimeout (WaitAsyncWaiterQueueNode *node) |
static V8_EXPORT_PRIVATE uint32_t | Notify (Isolate *requester, DirectHandle< JSAtomicsCondition > cv, uint32_t count) |
static void | CleanupMatchingAsyncWaiters (Isolate *isolate, WaiterQueueNode *node, DequeueMatcher matcher) |
Static Public Attributes | |
static constexpr uint32_t | kAllWaiters = UINT32_MAX |
Private Types | |
using | DequeueAction = std::function<uint32_t(WaiterQueueNode**)> |
Static Private Member Functions | |
static void | QueueWaiter (Isolate *requester, DirectHandle< JSAtomicsCondition > cv, WaiterQueueNode *waiter) |
static uint32_t | DequeueExplicit (Isolate *requester, DirectHandle< JSAtomicsCondition > cv, std::atomic< StateT > *state, const DequeueAction &dequeue_action) |
Friends | |
class | Factory |
Definition at line 400 of file js-atomics-synchronization.h.
Definition at line 404 of file js-atomics-synchronization.h.
|
private |
Definition at line 447 of file js-atomics-synchronization.h.
anonymous enum |
Enumerator | |
---|---|
kMutexAsyncContextSlot | |
kConditionVariableAsyncContextSlot | |
kAsyncContextLength |
Definition at line 432 of file js-atomics-synchronization.h.
|
static |
Definition at line 1121 of file js-atomics-synchronization.cc.
|
staticprivate |
Definition at line 1218 of file js-atomics-synchronization.cc.
|
static |
Definition at line 1367 of file js-atomics-synchronization.cc.
|
static |
Definition at line 1334 of file js-atomics-synchronization.cc.
|
static |
Definition at line 1251 of file js-atomics-synchronization.cc.
|
staticprivate |
Definition at line 1153 of file js-atomics-synchronization.cc.
|
static |
Definition at line 1287 of file js-atomics-synchronization.cc.
|
static |
Definition at line 1177 of file js-atomics-synchronization.cc.
|
friend |
Definition at line 441 of file js-atomics-synchronization.h.
|
staticconstexpr |
Definition at line 421 of file js-atomics-synchronization.h.