v8
v8-platform.h
1 // Copyright 2013 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_V8_PLATFORM_H_
6 #define V8_V8_PLATFORM_H_
7 
8 namespace v8 {
9 
10 class Isolate;
11 
15 class Task {
16  public:
17  virtual ~Task() {}
18 
19  virtual void Run() = 0;
20 };
21 
28 class Platform {
29  public:
36  kShortRunningTask,
37  kLongRunningTask
38  };
39 
40  virtual ~Platform() {}
41 
49  virtual void CallOnBackgroundThread(Task* task,
50  ExpectedRuntime expected_runtime) = 0;
51 
57  virtual void CallOnForegroundThread(Isolate* isolate, Task* task) = 0;
58 
66  virtual double MonotonicallyIncreasingTime() = 0;
67 };
68 
69 } // namespace v8
70 
71 #endif // V8_V8_PLATFORM_H_
virtual void CallOnForegroundThread(Isolate *isolate, Task *task)=0
virtual void CallOnBackgroundThread(Task *task, ExpectedRuntime expected_runtime)=0
ExpectedRuntime
Definition: v8-platform.h:35
Definition: libplatform.h:10
Definition: v8-platform.h:28
virtual double MonotonicallyIncreasingTime()=0
Definition: v8-platform.h:15