v8
8.1.307(node14.1.0)
V8 is Google's open source JavaScript engine
|
Namespaces | |
tracing | |
Enumerations | |
enum | IdleTaskSupport { kDisabled, kEnabled } |
enum | InProcessStackDumping { kDisabled, kEnabled } |
enum | MessageLoopBehavior : bool { kDoNotWait = false, kWaitForWork = true } |
Functions | |
V8_PLATFORM_EXPORT std::unique_ptr< v8::Platform > | NewDefaultPlatform (int thread_pool_size=0, IdleTaskSupport idle_task_support=IdleTaskSupport::kDisabled, InProcessStackDumping in_process_stack_dumping=InProcessStackDumping::kDisabled, std::unique_ptr< v8::TracingController > tracing_controller={}) |
V8_PLATFORM_EXPORT bool | PumpMessageLoop (v8::Platform *platform, v8::Isolate *isolate, MessageLoopBehavior behavior=MessageLoopBehavior::kDoNotWait) |
V8_PLATFORM_EXPORT void | RunIdleTasks (v8::Platform *platform, v8::Isolate *isolate, double idle_time_in_seconds) |
V8_PLATFORM_EXPORT void | SetTracingController (v8::Platform *platform, v8::platform::tracing::TracingController *tracing_controller) |
|
strong |
Enumerator | |
---|---|
kDisabled | |
kEnabled |
Definition at line 18 of file libplatform.h.
|
strong |
Enumerator | |
---|---|
kDisabled | |
kEnabled |
Definition at line 19 of file libplatform.h.
|
strong |
Enumerator | |
---|---|
kDoNotWait | |
kWaitForWork |
Definition at line 21 of file libplatform.h.
V8_PLATFORM_EXPORT std::unique_ptr<v8::Platform> v8::platform::NewDefaultPlatform | ( | int | thread_pool_size = 0 , |
IdleTaskSupport | idle_task_support = IdleTaskSupport::kDisabled , |
||
InProcessStackDumping | in_process_stack_dumping = InProcessStackDumping::kDisabled , |
||
std::unique_ptr< v8::TracingController > | tracing_controller = {} |
||
) |
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.
V8_PLATFORM_EXPORT 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. If the call to PumpMessageLoop is nested within another call to PumpMessageLoop, only nestable tasks may run. Otherwise, any task may run. Unless requested through the |behavior| parameter, this call does not block if no task is pending. The |platform| has to be created using |NewDefaultPlatform|.
V8_PLATFORM_EXPORT 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 |NewDefaultPlatform|.
V8_PLATFORM_EXPORT 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 |NewDefaultPlatform|.