v8 13.6.233 (node 24.1.0)
V8 is Google's open source JavaScript engine
Loading...
Searching...
No Matches
platform.h
Go to the documentation of this file.
1// Copyright 2020 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 INCLUDE_CPPGC_PLATFORM_H_
6#define INCLUDE_CPPGC_PLATFORM_H_
7
8#include <memory>
9
11#include "v8-platform.h" // NOLINT(build/include_directory)
12#include "v8config.h" // NOLINT(build/include_directory)
13
14namespace cppgc {
15
16// TODO(v8:10346): Create separate includes for concepts that are not
17// V8-specific.
23using Task = v8::Task;
27
32 public:
33 virtual ~Platform() = default;
34
41
49 virtual double MonotonicallyIncreasingTime() = 0;
50
54 virtual std::shared_ptr<TaskRunner> GetForegroundTaskRunner() {
55 return GetForegroundTaskRunner(TaskPriority::kUserBlocking);
56 }
57
62 virtual std::shared_ptr<TaskRunner> GetForegroundTaskRunner(
63 TaskPriority priority) {
64 return nullptr;
65 }
66
126 virtual std::unique_ptr<JobHandle> PostJob(
127 TaskPriority priority, std::unique_ptr<JobTask> job_task) {
128 return nullptr;
129 }
130
137};
138
140
155V8_EXPORT void InitializeProcess(PageAllocator* page_allocator = nullptr,
156 size_t desired_heap_size = 0);
157
164
165namespace internal {
166
167V8_EXPORT void Fatal(const std::string& reason = std::string(),
169
170} // namespace internal
171
172} // namespace cppgc
173
174#endif // INCLUDE_CPPGC_PLATFORM_H_
virtual ~Platform()=default
virtual std::shared_ptr< TaskRunner > GetForegroundTaskRunner(TaskPriority priority)
Definition platform.h:62
virtual std::unique_ptr< JobHandle > PostJob(TaskPriority priority, std::unique_ptr< JobTask > job_task)
Definition platform.h:126
virtual PageAllocator * GetPageAllocator()=0
virtual TracingController * GetTracingController()
virtual std::shared_ptr< TaskRunner > GetForegroundTaskRunner()
Definition platform.h:54
virtual double MonotonicallyIncreasingTime()=0
static constexpr SourceLocation Current()
V8_EXPORT void Fatal(const std::string &reason=std::string(), const SourceLocation &=SourceLocation::Current())
v8::JobDelegate JobDelegate
Definition platform.h:20
v8::Task Task
Definition platform.h:23
V8_EXPORT void InitializeProcess(PageAllocator *page_allocator=nullptr, size_t desired_heap_size=0)
v8::PageAllocator PageAllocator
Definition platform.h:22
v8::SourceLocation SourceLocation
v8::IdleTask IdleTask
Definition platform.h:18
V8_EXPORT void ShutdownProcess()
v8::TaskPriority TaskPriority
Definition platform.h:24
v8::JobHandle JobHandle
Definition platform.h:19
v8::TracingController TracingController
Definition platform.h:26
v8::TaskRunner TaskRunner
Definition platform.h:25
v8::JobTask JobTask
Definition platform.h:21
V8_EXPORT bool IsInitialized()
TaskPriority
Definition v8-platform.h:24
#define V8_EXPORT
Definition v8config.h:800