v8  4.6.85 (node 5.12.0)
V8 is Google's open source JavaScript engine
Platform Class Referenceabstract

#include <v8-platform.h>

Public Types

enum  ExpectedRuntime { kShortRunningTask , kLongRunningTask }
 

Public Member Functions

virtual ~Platform ()
 
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
 

Detailed Description

V8 Platform abstraction layer.

The embedder has to provide an implementation of this interface before initializing the rest of V8.

Definition at line 42 of file v8-platform.h.

Member Enumeration Documentation

◆ 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 49 of file v8-platform.h.

Constructor & Destructor Documentation

◆ ~Platform()

virtual ~Platform ( )
inlinevirtual

Definition at line 54 of file v8-platform.h.

Member Function Documentation

◆ CallDelayedOnForegroundThread()

virtual void CallDelayedOnForegroundThread ( Isolate isolate,
Task task,
double  delay_in_seconds 
)
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.

◆ CallIdleOnForegroundThread()

virtual void CallIdleOnForegroundThread ( Isolate isolate,
IdleTask task 
)
inlinevirtual

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 90 of file v8-platform.h.

◆ CallOnBackgroundThread()

virtual void CallOnBackgroundThread ( Task task,
ExpectedRuntime  expected_runtime 
)
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.

◆ CallOnForegroundThread()

virtual void CallOnForegroundThread ( Isolate isolate,
Task task 
)
pure virtual

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.

◆ IdleTasksEnabled()

virtual bool IdleTasksEnabled ( Isolate isolate)
inlinevirtual

Returns true if idle tasks are enabled for the given |isolate|.

Definition at line 97 of file v8-platform.h.

◆ MonotonicallyIncreasingTime()

virtual double MonotonicallyIncreasingTime ( )
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.


The documentation for this class was generated from the following file: