v8  5.5.372 (node 7.10.1)
V8 is Google's open source JavaScript engine
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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/v8-tracing.h"
9 #include "v8-platform.h" // NOLINT(build/include)
10 
11 namespace v8 {
12 namespace platform {
13 
14 /**
15  * Returns a new instance of the default v8::Platform implementation.
16  *
17  * The caller will take ownership of the returned pointer. |thread_pool_size|
18  * is the number of worker threads to allocate for background jobs. If a value
19  * of zero is passed, a suitable default based on the current number of
20  * processors online will be chosen.
21  */
22 v8::Platform* CreateDefaultPlatform(int thread_pool_size = 0);
23 
24 
25 /**
26  * Pumps the message loop for the given isolate.
27  *
28  * The caller has to make sure that this is called from the right thread.
29  * Returns true if a task was executed, and false otherwise. This call does
30  * not block if no task is pending. The |platform| has to be created using
31  * |CreateDefaultPlatform|.
32  */
33 bool PumpMessageLoop(v8::Platform* platform, v8::Isolate* isolate);
34 
35 /**
36  * Attempts to set the tracing controller for the given platform.
37  *
38  * The |platform| has to be created using |CreateDefaultPlatform|.
39  */
41  v8::Platform* platform,
42  v8::platform::tracing::TracingController* tracing_controller);
43 
44 } // namespace platform
45 } // namespace v8
46 
47 #endif // V8_LIBPLATFORM_LIBPLATFORM_H_