![]() |
v8
5.5.372 (node 7.10.1)
V8 is Google's open source JavaScript engine
|
#include <v8-platform.h>
Data Structures | |
class | TraceStateObserver |
Public Types | |
enum | ExpectedRuntime { kShortRunningTask , kLongRunningTask } |
Public Member Functions | |
virtual | ~Platform ()=default |
virtual size_t | NumberOfAvailableBackgroundThreads () |
virtual void | CallOnBackgroundThread (Task *task, ExpectedRuntime expected_runtime)=0 |
virtual void | CallOnForegroundThread (Isolate *isolate, Task *task)=0 |
virtual void | CallDelayedOnForegroundThread (Isolate *isolate, Task *task, double delay_in_seconds)=0 |
virtual void | CallIdleOnForegroundThread (Isolate *isolate, IdleTask *task) |
virtual bool | IdleTasksEnabled (Isolate *isolate) |
virtual double | MonotonicallyIncreasingTime ()=0 |
virtual const uint8_t * | GetCategoryGroupEnabled (const char *name) |
virtual const char * | GetCategoryGroupName (const uint8_t *category_enabled_flag) |
virtual uint64_t | AddTraceEvent (char phase, const uint8_t *category_enabled_flag, const char *name, const char *scope, uint64_t id, uint64_t bind_id, int32_t num_args, const char **arg_names, const uint8_t *arg_types, const uint64_t *arg_values, unsigned int flags) |
virtual uint64_t | AddTraceEvent (char phase, const uint8_t *category_enabled_flag, const char *name, const char *scope, uint64_t id, uint64_t bind_id, int32_t num_args, const char **arg_names, const uint8_t *arg_types, const uint64_t *arg_values, std::unique_ptr< ConvertableToTraceFormat > *arg_convertables, unsigned int flags) |
virtual void | UpdateTraceEventDuration (const uint8_t *category_enabled_flag, const char *name, uint64_t handle) |
virtual void | AddTraceStateObserver (TraceStateObserver *) |
virtual void | RemoveTraceStateObserver (TraceStateObserver *) |
V8 Platform abstraction layer.
The embedder has to provide an implementation of this interface before initializing the rest of V8.
Definition at line 61 of file v8-platform.h.
enum ExpectedRuntime |
This enum is used to indicate whether a task is potentially long running, or causes a long wait. The embedder might want to use this hint to decide whether to execute the task on a dedicated thread.
Enumerator | |
---|---|
kShortRunningTask | |
kLongRunningTask |
Definition at line 68 of file v8-platform.h.
|
virtualdefault |
|
inlinevirtual |
Adds a trace event to the platform tracing system. This function call is usually the result of a TRACE_* macro from trace_event_common.h when tracing and the category of the particular trace are enabled. It is not advisable to call this function on its own; it is really only meant to be used by the trace macros. The returned handle can be used by UpdateTraceEventDuration to update the duration of COMPLETE events.
Definition at line 185 of file v8-platform.h.
References Platform::AddTraceEvent().
|
inlinevirtual |
Adds a trace event to the platform tracing system. This function call is usually the result of a TRACE_* macro from trace_event_common.h when tracing and the category of the particular trace are enabled. It is not advisable to call this function on its own; it is really only meant to be used by the trace macros. The returned handle can be used by UpdateTraceEventDuration to update the duration of COMPLETE events.
Definition at line 169 of file v8-platform.h.
Referenced by Platform::AddTraceEvent().
|
inlinevirtual |
Adds tracing state change observer.
Definition at line 211 of file v8-platform.h.
|
pure virtual |
Schedules a task to be invoked on a foreground thread wrt a specific |isolate| after the given number of seconds |delay_in_seconds|. Tasks posted for the same isolate should be execute in order of scheduling. The definition of "foreground" is opaque to V8.
Schedules a task to be invoked on a foreground thread wrt a specific |isolate| when the embedder is idle. Requires that SupportsIdleTasks(isolate) is true. Idle tasks may be reordered relative to other task types and may be starved for an arbitrarily long time if no idle time is available. The definition of "foreground" is opaque to V8.
Definition at line 118 of file v8-platform.h.
|
pure virtual |
Schedules a task to be invoked on a background thread. |expected_runtime| indicates that the task will run a long time. The Platform implementation takes ownership of |task|. There is no guarantee about order of execution of tasks wrt order of scheduling, nor is there a guarantee about the thread the task will be run on.
Schedules a task to be invoked on a foreground thread wrt a specific |isolate|. Tasks posted for the same isolate should be execute in order of scheduling. The definition of "foreground" is opaque to V8.
|
inlinevirtual |
Called by TRACE_EVENT* macros, don't call this directly. The name parameter is a category group for example: TRACE_EVENT0("v8,parse", "V8.Parse") The pointer returned points to a value with zero or more of the bits defined in CategoryGroupEnabledFlags.
Definition at line 146 of file v8-platform.h.
|
inlinevirtual |
Gets the category group name of the given category_enabled_flag pointer. Usually used while serliazing TRACE_EVENTs.
Definition at line 155 of file v8-platform.h.
|
inlinevirtual |
Returns true if idle tasks are enabled for the given |isolate|.
Definition at line 125 of file v8-platform.h.
|
pure virtual |
Monotonically increasing time in seconds from an arbitrary fixed point in the past. This function is expected to return at least millisecond-precision values. For this reason, it is recommended that the fixed point be no further in the past than the epoch.
|
inlinevirtual |
Gets the number of threads that are used to execute background tasks. Is used to estimate the number of tasks a work package should be split into. A return value of 0 means that there are no background threads available. Note that a value of 0 won't prohibit V8 from posting tasks using |CallOnBackgroundThread|.
Definition at line 82 of file v8-platform.h.
|
inlinevirtual |
Removes tracing state change observer.
Definition at line 214 of file v8-platform.h.
|
inlinevirtual |
Sets the duration field of a COMPLETE trace event. It must be called with the handle returned from AddTraceEvent().
Definition at line 200 of file v8-platform.h.