Loading...
Searching...
No Matches
Namespaces | Enumerations | Functions
v8::platform Namespace Reference

Namespaces

namespace  tracing
 

Enumerations

enum class  IdleTaskSupport { kDisabled , kEnabled }
 
enum class  InProcessStackDumping { kDisabled , kEnabled }
 
enum class  MessageLoopBehavior : bool { kDoNotWait = false , kWaitForWork = true }
 

Functions

v8::PlatformCreateDefaultPlatform (int thread_pool_size=0, IdleTaskSupport idle_task_support=IdleTaskSupport::kDisabled, InProcessStackDumping in_process_stack_dumping=InProcessStackDumping::kEnabled, v8::TracingController *tracing_controller=nullptr)
 
bool PumpMessageLoop (v8::Platform *platform, v8::Isolate *isolate, MessageLoopBehavior behavior=MessageLoopBehavior::kDoNotWait)
 
void EnsureEventLoopInitialized (v8::Platform *platform, v8::Isolate *isolate)
 
void RunIdleTasks (v8::Platform *platform, v8::Isolate *isolate, double idle_time_in_seconds)
 
void SetTracingController (v8::Platform *platform, v8::platform::tracing::TracingController *tracing_controller)
 

Enumeration Type Documentation

◆ IdleTaskSupport

enum class v8::platform::IdleTaskSupport
strong
Enumerator
kDisabled 
kEnabled 

◆ InProcessStackDumping

Enumerator
kDisabled 
kEnabled 

◆ MessageLoopBehavior

enum class v8::platform::MessageLoopBehavior : bool
strong
Enumerator
kDoNotWait 
kWaitForWork 

Function Documentation

◆ CreateDefaultPlatform()

v8::Platform * v8::platform::CreateDefaultPlatform ( int  thread_pool_size = 0,
IdleTaskSupport  idle_task_support = IdleTaskSupport::kDisabled,
InProcessStackDumping  in_process_stack_dumping = InProcessStackDumping::kEnabled,
v8::TracingController tracing_controller = nullptr 
)

Returns a new instance of the default v8::Platform implementation.

The caller will take ownership of the returned pointer. |thread_pool_size| is the number of worker threads to allocate for background jobs. If a value of zero is passed, a suitable default based on the current number of processors online will be chosen. If |idle_task_support| is enabled then the platform will accept idle tasks (IdleTasksEnabled will return true) and will rely on the embedder calling v8::platform::RunIdleTasks to process the idle tasks. If |tracing_controller| is nullptr, the default platform will create a v8::platform::TracingController instance and use it.

Examples
process.cc, and shell.cc.

◆ EnsureEventLoopInitialized()

void v8::platform::EnsureEventLoopInitialized ( v8::Platform platform,
v8::Isolate isolate 
)

◆ PumpMessageLoop()

bool v8::platform::PumpMessageLoop ( v8::Platform platform,
v8::Isolate isolate,
MessageLoopBehavior  behavior = MessageLoopBehavior::kDoNotWait 
)

Pumps the message loop for the given isolate.

The caller has to make sure that this is called from the right thread. Returns true if a task was executed, and false otherwise. Unless requested through the |behavior| parameter, this call does not block if no task is pending. The |platform| has to be created using |CreateDefaultPlatform|.

Examples
process.cc, and shell.cc.

◆ RunIdleTasks()

void v8::platform::RunIdleTasks ( v8::Platform platform,
v8::Isolate isolate,
double  idle_time_in_seconds 
)

Runs pending idle tasks for at most |idle_time_in_seconds| seconds.

The caller has to make sure that this is called from the right thread. This call does not block if no task is pending. The |platform| has to be created using |CreateDefaultPlatform|.

◆ SetTracingController()

void v8::platform::SetTracingController ( v8::Platform platform,
v8::platform::tracing::TracingController tracing_controller 
)

Attempts to set the tracing controller for the given platform.

The |platform| has to be created using |CreateDefaultPlatform|.

DEPRECATED: Will be removed soon.