OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_LIBPLATFORM_LIBPLATFORM_H_ | 5 #ifndef V8_LIBPLATFORM_LIBPLATFORM_H_ |
6 #define V8_LIBPLATFORM_LIBPLATFORM_H_ | 6 #define V8_LIBPLATFORM_LIBPLATFORM_H_ |
7 | 7 |
8 #include "libplatform/libplatform-export.h" | 8 #include "libplatform/libplatform-export.h" |
9 #include "libplatform/v8-tracing.h" | 9 #include "libplatform/v8-tracing.h" |
10 #include "v8-platform.h" // NOLINT(build/include) | 10 #include "v8-platform.h" // NOLINT(build/include) |
11 | 11 |
12 namespace v8 { | 12 namespace v8 { |
13 namespace platform { | 13 namespace platform { |
14 | 14 |
15 enum class IdleTaskSupport { kDisabled, kEnabled }; | 15 enum class IdleTaskSupport { kDisabled, kEnabled }; |
| 16 enum class InProcessStackDumping { kDisabled, kEnabled }; |
16 | 17 |
17 /** | 18 /** |
18 * Returns a new instance of the default v8::Platform implementation. | 19 * Returns a new instance of the default v8::Platform implementation. |
19 * | 20 * |
20 * The caller will take ownership of the returned pointer. |thread_pool_size| | 21 * The caller will take ownership of the returned pointer. |thread_pool_size| |
21 * is the number of worker threads to allocate for background jobs. If a value | 22 * is the number of worker threads to allocate for background jobs. If a value |
22 * of zero is passed, a suitable default based on the current number of | 23 * of zero is passed, a suitable default based on the current number of |
23 * processors online will be chosen. | 24 * processors online will be chosen. |
24 * If |idle_task_support| is enabled then the platform will accept idle | 25 * If |idle_task_support| is enabled then the platform will accept idle |
25 * tasks (IdleTasksEnabled will return true) and will rely on the embedder | 26 * tasks (IdleTasksEnabled will return true) and will rely on the embedder |
26 * calling v8::platform::RunIdleTasks to process the idle tasks. | 27 * calling v8::platform::RunIdleTasks to process the idle tasks. |
27 */ | 28 */ |
28 V8_PLATFORM_EXPORT v8::Platform* CreateDefaultPlatform( | 29 V8_PLATFORM_EXPORT v8::Platform* CreateDefaultPlatform( |
29 int thread_pool_size = 0, | 30 int thread_pool_size = 0, |
30 IdleTaskSupport idle_task_support = IdleTaskSupport::kDisabled); | 31 IdleTaskSupport idle_task_support = IdleTaskSupport::kDisabled, |
| 32 InProcessStackDumping in_process_stack_dumping = |
| 33 InProcessStackDumping::kEnabled); |
31 | 34 |
32 /** | 35 /** |
33 * Pumps the message loop for the given isolate. | 36 * Pumps the message loop for the given isolate. |
34 * | 37 * |
35 * The caller has to make sure that this is called from the right thread. | 38 * The caller has to make sure that this is called from the right thread. |
36 * Returns true if a task was executed, and false otherwise. This call does | 39 * Returns true if a task was executed, and false otherwise. This call does |
37 * not block if no task is pending. The |platform| has to be created using | 40 * not block if no task is pending. The |platform| has to be created using |
38 * |CreateDefaultPlatform|. | 41 * |CreateDefaultPlatform|. |
39 */ | 42 */ |
40 V8_PLATFORM_EXPORT bool PumpMessageLoop(v8::Platform* platform, | 43 V8_PLATFORM_EXPORT bool PumpMessageLoop(v8::Platform* platform, |
(...skipping 16 matching lines...) Expand all Loading... |
57 * The |platform| has to be created using |CreateDefaultPlatform|. | 60 * The |platform| has to be created using |CreateDefaultPlatform|. |
58 */ | 61 */ |
59 V8_PLATFORM_EXPORT void SetTracingController( | 62 V8_PLATFORM_EXPORT void SetTracingController( |
60 v8::Platform* platform, | 63 v8::Platform* platform, |
61 v8::platform::tracing::TracingController* tracing_controller); | 64 v8::platform::tracing::TracingController* tracing_controller); |
62 | 65 |
63 } // namespace platform | 66 } // namespace platform |
64 } // namespace v8 | 67 } // namespace v8 |
65 | 68 |
66 #endif // V8_LIBPLATFORM_LIBPLATFORM_H_ | 69 #endif // V8_LIBPLATFORM_LIBPLATFORM_H_ |
OLD | NEW |