v8
7.9.317 (node 13.2.0)
V8 is Google's open source JavaScript engine
|
Namespaces | |
tracing | |
Enumerations | |
enum class | IdleTaskSupport { kDisabled , kEnabled } |
enum class | InProcessStackDumping { kDisabled , kEnabled } |
enum class | 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. 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|.