V8
v6.2
Loading...
Searching...
No Matches
include
libplatform
libplatform.h
Go to the documentation of this file.
1
// Copyright 2014 the V8 project authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#ifndef V8_LIBPLATFORM_LIBPLATFORM_H_
6
#define V8_LIBPLATFORM_LIBPLATFORM_H_
7
8
#include "
libplatform/libplatform-export.h
"
9
#include "
libplatform/v8-tracing.h
"
10
#include "
v8-platform.h
"
// NOLINT(build/include)
11
12
namespace
v8
{
13
namespace
platform {
14
15
enum class
IdleTaskSupport
{
kDisabled
,
kEnabled
};
16
enum class
InProcessStackDumping
{
kDisabled
,
kEnabled
};
17
18
enum class
MessageLoopBehavior
:
bool
{
19
kDoNotWait
=
false
,
20
kWaitForWork
=
true
21
};
22
36
V8_PLATFORM_EXPORT
v8::Platform
*
CreateDefaultPlatform
(
37
int
thread_pool_size = 0,
38
IdleTaskSupport
idle_task_support =
IdleTaskSupport::kDisabled
,
39
InProcessStackDumping
in_process_stack_dumping =
40
InProcessStackDumping::kEnabled
,
41
v8::TracingController
* tracing_controller =
nullptr
);
42
51
V8_PLATFORM_EXPORT
bool
PumpMessageLoop
(
52
v8::Platform
* platform,
v8::Isolate
* isolate,
53
MessageLoopBehavior
behavior =
MessageLoopBehavior::kDoNotWait
);
54
55
V8_PLATFORM_EXPORT
void
EnsureEventLoopInitialized
(
v8::Platform
* platform,
56
v8::Isolate
* isolate);
57
65
V8_PLATFORM_EXPORT
void
RunIdleTasks
(
v8::Platform
* platform,
66
v8::Isolate
* isolate,
67
double
idle_time_in_seconds);
68
76
V8_PLATFORM_EXPORT
void
SetTracingController
(
77
v8::Platform
* platform,
78
v8::platform::tracing::TracingController
* tracing_controller);
79
80
}
// namespace platform
81
}
// namespace v8
82
83
#endif
// V8_LIBPLATFORM_LIBPLATFORM_H_
v8::Isolate
Definition:
v8.h:6768
v8::Platform
Definition:
v8-platform.h:121
v8::TracingController
Definition:
v8-platform.h:60
v8::platform::tracing::TracingController
Definition:
v8-tracing.h:220
libplatform-export.h
V8_PLATFORM_EXPORT
#define V8_PLATFORM_EXPORT
Definition:
libplatform-export.h:24
v8::platform::CreateDefaultPlatform
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)
v8::platform::RunIdleTasks
void RunIdleTasks(v8::Platform *platform, v8::Isolate *isolate, double idle_time_in_seconds)
v8::platform::PumpMessageLoop
bool PumpMessageLoop(v8::Platform *platform, v8::Isolate *isolate, MessageLoopBehavior behavior=MessageLoopBehavior::kDoNotWait)
v8::platform::MessageLoopBehavior
MessageLoopBehavior
Definition:
libplatform.h:18
v8::platform::MessageLoopBehavior::kDoNotWait
@ kDoNotWait
v8::platform::MessageLoopBehavior::kWaitForWork
@ kWaitForWork
v8::platform::EnsureEventLoopInitialized
void EnsureEventLoopInitialized(v8::Platform *platform, v8::Isolate *isolate)
v8::platform::IdleTaskSupport
IdleTaskSupport
Definition:
libplatform.h:15
v8::platform::IdleTaskSupport::kDisabled
@ kDisabled
v8::platform::IdleTaskSupport::kEnabled
@ kEnabled
v8::platform::InProcessStackDumping
InProcessStackDumping
Definition:
libplatform.h:16
v8::platform::InProcessStackDumping::kEnabled
@ kEnabled
v8::platform::SetTracingController
void SetTracingController(v8::Platform *platform, v8::platform::tracing::TracingController *tracing_controller)
v8
Definition:
libplatform.h:12
v8-platform.h
v8-tracing.h