mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 10:59:27 +00:00
src: update default V8 platform to override functions with location
Co-authored-by: Etienne Pierre-Doray <etiennep@chromium.org> PR-URL: https://github.com/nodejs/node/pull/51362 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
This commit is contained in:
parent
d9c47e9b5f
commit
d34b02db4c
@ -501,17 +501,22 @@ bool PerIsolatePlatformData::FlushForegroundTasksInternal() {
|
||||
return did_work;
|
||||
}
|
||||
|
||||
void NodePlatform::CallOnWorkerThread(std::unique_ptr<Task> task) {
|
||||
void NodePlatform::PostTaskOnWorkerThreadImpl(
|
||||
v8::TaskPriority priority,
|
||||
std::unique_ptr<v8::Task> task,
|
||||
const v8::SourceLocation& location) {
|
||||
worker_thread_task_runner_->PostTask(std::move(task));
|
||||
}
|
||||
|
||||
void NodePlatform::CallDelayedOnWorkerThread(std::unique_ptr<Task> task,
|
||||
double delay_in_seconds) {
|
||||
void NodePlatform::PostDelayedTaskOnWorkerThreadImpl(
|
||||
v8::TaskPriority priority,
|
||||
std::unique_ptr<v8::Task> task,
|
||||
double delay_in_seconds,
|
||||
const v8::SourceLocation& location) {
|
||||
worker_thread_task_runner_->PostDelayedTask(std::move(task),
|
||||
delay_in_seconds);
|
||||
}
|
||||
|
||||
|
||||
IsolatePlatformDelegate* NodePlatform::ForIsolate(Isolate* isolate) {
|
||||
Mutex::ScopedLock lock(per_isolate_mutex_);
|
||||
auto data = per_isolate_[isolate];
|
||||
@ -533,8 +538,10 @@ bool NodePlatform::FlushForegroundTasks(Isolate* isolate) {
|
||||
return per_isolate->FlushForegroundTasksInternal();
|
||||
}
|
||||
|
||||
std::unique_ptr<v8::JobHandle> NodePlatform::CreateJob(
|
||||
v8::TaskPriority priority, std::unique_ptr<v8::JobTask> job_task) {
|
||||
std::unique_ptr<v8::JobHandle> NodePlatform::CreateJobImpl(
|
||||
v8::TaskPriority priority,
|
||||
std::unique_ptr<v8::JobTask> job_task,
|
||||
const v8::SourceLocation& location) {
|
||||
return v8::platform::NewDefaultJobHandle(
|
||||
this, priority, std::move(job_task), NumberOfWorkerThreads());
|
||||
}
|
||||
|
@ -147,17 +147,23 @@ class NodePlatform : public MultiIsolatePlatform {
|
||||
|
||||
// v8::Platform implementation.
|
||||
int NumberOfWorkerThreads() override;
|
||||
void CallOnWorkerThread(std::unique_ptr<v8::Task> task) override;
|
||||
void CallDelayedOnWorkerThread(std::unique_ptr<v8::Task> task,
|
||||
double delay_in_seconds) override;
|
||||
void PostTaskOnWorkerThreadImpl(v8::TaskPriority priority,
|
||||
std::unique_ptr<v8::Task> task,
|
||||
const v8::SourceLocation& location) override;
|
||||
void PostDelayedTaskOnWorkerThreadImpl(
|
||||
v8::TaskPriority priority,
|
||||
std::unique_ptr<v8::Task> task,
|
||||
double delay_in_seconds,
|
||||
const v8::SourceLocation& location) override;
|
||||
bool IdleTasksEnabled(v8::Isolate* isolate) override;
|
||||
double MonotonicallyIncreasingTime() override;
|
||||
double CurrentClockTimeMillis() override;
|
||||
v8::TracingController* GetTracingController() override;
|
||||
bool FlushForegroundTasks(v8::Isolate* isolate) override;
|
||||
std::unique_ptr<v8::JobHandle> CreateJob(
|
||||
std::unique_ptr<v8::JobHandle> CreateJobImpl(
|
||||
v8::TaskPriority priority,
|
||||
std::unique_ptr<v8::JobTask> job_task) override;
|
||||
std::unique_ptr<v8::JobTask> job_task,
|
||||
const v8::SourceLocation& location) override;
|
||||
|
||||
void RegisterIsolate(v8::Isolate* isolate, uv_loop_t* loop) override;
|
||||
void RegisterIsolate(v8::Isolate* isolate,
|
||||
|
Loading…
Reference in New Issue
Block a user