V8 Project
v8::Platform Class Referenceabstract

V8 Platform abstraction layer. More...

#include <v8-platform.h>

+ Inheritance diagram for v8::Platform:
+ Collaboration diagram for v8::Platform:

Public Types

enum  ExpectedRuntime { kShortRunningTask , kLongRunningTask }
 This enum is used to indicate whether a task is potentially long running, or causes a long wait. More...
 

Public Member Functions

virtual ~Platform ()
 
virtual void CallOnBackgroundThread (Task *task, ExpectedRuntime expected_runtime)=0
 Schedules a task to be invoked on a background thread. More...
 
virtual void CallOnForegroundThread (Isolate *isolate, Task *task)=0
 Schedules a task to be invoked on a foreground thread wrt a specific |isolate|. More...
 

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

35  {
38  };

Constructor & Destructor Documentation

◆ ~Platform()

virtual v8::Platform::~Platform ( )
inlinevirtual

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

40 {}

Member Function Documentation

◆ CallOnBackgroundThread()

virtual void v8::Platform::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 v8::platform::DefaultPlatform.

Referenced by v8::internal::MarkCompactCollector::StartSweeperThreads().

+ Here is the caller graph for this function:

◆ CallOnForegroundThread()

virtual void v8::Platform::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 v8::platform::DefaultPlatform.


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