v8  3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Platform Class Referenceabstract

#include <v8-platform.h>

Inheritance diagram for Platform:

Public Types

enum  ExpectedRuntime { kShortRunningTask, kLongRunningTask }
 

Public Member Functions

virtual void CallOnBackgroundThread (Task *task, ExpectedRuntime expected_runtime)=0
 
virtual void CallOnForegroundThread (Isolate *isolate, Task *task)=0
 

Protected Member Functions

virtual ~Platform ()
 

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

Member Enumeration Documentation

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

Constructor & Destructor Documentation

virtual ~Platform ( )
inlineprotectedvirtual

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

Member Function Documentation

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.

Implemented in DefaultPlatform.

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.

Implemented in DefaultPlatform.


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