![]() |
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 |
Public Member Functions inherited from v8::internal::detail::WaiterQueueNode | |
| 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 | |
Public Types inherited from v8::internal::detail::WaiterQueueNode | |
| using | DequeueMatcher = std::function<bool(WaiterQueueNode*)> |
Protected Member Functions inherited from v8::internal::detail::WaiterQueueNode | |
| WaiterQueueNode (Isolate *requester) | |
| void | SetNotInListForVerification () |
Protected Attributes inherited from v8::internal::detail::WaiterQueueNode | |
| 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.