![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
Public Member Functions | |
TaskRunner * | task_runner () |
Local< v8::Context > | GetNativeContext () |
Handle< JSPromise > | GetInternalWaitingPromise () |
bool | IsEmpty () const |
Handle< T > | GetSynchronizationPrimitive () |
Handle< JSPromise > | GetUnlockedPromise () |
void | Notify () override |
bool | IsSameIsolateForAsyncCleanup (Isolate *isolate) override |
void | CleanupMatchingAsyncWaiters (const DequeueMatcher &matcher) override |
![]() | |
virtual | ~WaiterQueueNode () |
uint32_t | NotifyAllInList () |
Private Member Functions | |
AsyncWaiterQueueNode (Isolate *requester, DirectHandle< T > synchronization_primitive) | |
AsyncWaiterQueueNode (Isolate *requester, DirectHandle< T > synchronization_primitive, DirectHandle< JSPromise > internal_waiting_promise, MaybeDirectHandle< JSPromise > unlocked_promise) | |
void | SetReadyForAsyncCleanup () override |
Private Attributes | |
friend | JSAtomicsMutex |
friend | JSAtomicsCondition |
friend | AsyncWaiterNotifyTask< T > |
friend | AsyncWaiterTimeoutTask< T > |
std::shared_ptr< TaskRunner > | task_runner_ |
CancelableTaskManager::Id | timeout_task_id_ |
CancelableTaskManager::Id | notify_task_id_ |
bool | ready_for_async_cleanup_ = false |
Global< v8::Context > | native_context_ |
Global< v8::Promise > | internal_waiting_promise_ |
Global< v8::Object > | synchronization_primitive_ |
Global< v8::Promise > | unlocked_promise_ |
Additional Inherited Members | |
![]() | |
using | DequeueMatcher = std::function<bool(WaiterQueueNode*)> |
![]() | |
WaiterQueueNode (Isolate *requester) | |
void | SetNotInListForVerification () |
![]() | |
Isolate * | requester_ |
WaiterQueueNode * | next_ = nullptr |
WaiterQueueNode * | prev_ = nullptr |
Definition at line 29 of file js-atomics-synchronization.h.
|
inlineexplicitprivate |
Definition at line 359 of file js-atomics-synchronization.cc.
|
inlineexplicitprivate |
Definition at line 369 of file js-atomics-synchronization.cc.
|
inlineoverridevirtual |
Implements v8::internal::detail::WaiterQueueNode.
Definition at line 341 of file js-atomics-synchronization.cc.
|
inline |
Definition at line 304 of file js-atomics-synchronization.cc.
|
inline |
Definition at line 299 of file js-atomics-synchronization.cc.
|
inline |
Definition at line 313 of file js-atomics-synchronization.cc.
|
inline |
Definition at line 320 of file js-atomics-synchronization.cc.
|
inline |
Definition at line 311 of file js-atomics-synchronization.cc.
|
inlineoverridevirtual |
Implements v8::internal::detail::WaiterQueueNode.
Definition at line 337 of file js-atomics-synchronization.cc.
|
inlinestatic |
Definition at line 272 of file js-atomics-synchronization.cc.
|
inlinestatic |
Definition at line 287 of file js-atomics-synchronization.cc.
|
inlineoverridevirtual |
Implements v8::internal::detail::WaiterQueueNode.
Definition at line 327 of file js-atomics-synchronization.cc.
|
inlinestatic |
Definition at line 348 of file js-atomics-synchronization.cc.
|
inlineoverrideprivatevirtual |
Implements v8::internal::detail::WaiterQueueNode.
Definition at line 392 of file js-atomics-synchronization.cc.
|
inline |
Definition at line 297 of file js-atomics-synchronization.cc.
|
private |
Definition at line 356 of file js-atomics-synchronization.cc.
|
private |
Definition at line 357 of file js-atomics-synchronization.cc.
|
private |
Definition at line 404 of file js-atomics-synchronization.cc.
|
private |
Definition at line 355 of file js-atomics-synchronization.cc.
|
private |
Definition at line 354 of file js-atomics-synchronization.cc.
|
private |
Definition at line 401 of file js-atomics-synchronization.cc.
|
private |
Definition at line 396 of file js-atomics-synchronization.cc.
|
private |
Definition at line 397 of file js-atomics-synchronization.cc.
|
private |
Definition at line 405 of file js-atomics-synchronization.cc.
|
private |
Definition at line 394 of file js-atomics-synchronization.cc.
|
private |
Definition at line 395 of file js-atomics-synchronization.cc.
|
private |
Definition at line 408 of file js-atomics-synchronization.cc.