v8  8.1.307(node14.1.0)
V8 is Google's open source JavaScript engine
MicrotasksScope Class Reference

#include <v8.h>

Public Types

enum  Type { kRunMicrotasks, kDoNotRunMicrotasks }

Public Member Functions

 MicrotasksScope (Isolate *isolate, Type type)
 MicrotasksScope (Isolate *isolate, MicrotaskQueue *microtask_queue, Type type)
 ~MicrotasksScope ()
 MicrotasksScope (const MicrotasksScope &)=delete
MicrotasksScopeoperator= (const MicrotasksScope &)=delete

Static Public Member Functions

static void PerformCheckpoint (Isolate *isolate)
static int GetCurrentDepth (Isolate *isolate)
static bool IsRunningMicrotasks (Isolate *isolate)

Detailed Description

This scope is used to control microtasks when kScopeMicrotasksInvocation is used on Isolate. In this mode every non-primitive call to V8 should be done inside some MicrotasksScope. Microtasks are executed when topmost MicrotasksScope marked as kRunMicrotasks exits. kDoNotRunMicrotasks should be used to annotate calls not intended to trigger microtasks.

Definition at line 7402 of file v8.h.

Member Enumeration Documentation

◆ Type

enum Type

Definition at line 7404 of file v8.h.

Constructor & Destructor Documentation

◆ MicrotasksScope() [1/3]

MicrotasksScope ( Isolate isolate,
Type  type 

◆ MicrotasksScope() [2/3]

MicrotasksScope ( Isolate isolate,
MicrotaskQueue microtask_queue,
Type  type 

◆ ~MicrotasksScope()

◆ MicrotasksScope() [3/3]

MicrotasksScope ( const MicrotasksScope )

Member Function Documentation

◆ GetCurrentDepth()

static int GetCurrentDepth ( Isolate isolate)

Returns current depth of nested kRunMicrotasks scopes.

◆ IsRunningMicrotasks()

static bool IsRunningMicrotasks ( Isolate isolate)

Returns true while microtasks are being executed.

◆ operator=()

MicrotasksScope& operator= ( const MicrotasksScope )

◆ PerformCheckpoint()

static void PerformCheckpoint ( Isolate isolate)

Runs microtasks if no kRunMicrotasks scope is currently active.

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