Skip to content

Commit 716ce62

Browse files
v8: update default platform to override functions with location (#173)
Co-authored-by: Etienne Pierre-Doray <[email protected]>
1 parent 72cd9e5 commit 716ce62

File tree

2 files changed

+24
-11
lines changed

2 files changed

+24
-11
lines changed

src/node_platform.cc

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -496,17 +496,22 @@ bool PerIsolatePlatformData::FlushForegroundTasksInternal() {
496496
return did_work;
497497
}
498498

499-
void NodePlatform::CallOnWorkerThread(std::unique_ptr<Task> task) {
499+
void NodePlatform::PostTaskOnWorkerThreadImpl(
500+
v8::TaskPriority priority,
501+
std::unique_ptr<v8::Task> task,
502+
const v8::SourceLocation& location) {
500503
worker_thread_task_runner_->PostTask(std::move(task));
501504
}
502505

503-
void NodePlatform::CallDelayedOnWorkerThread(std::unique_ptr<Task> task,
504-
double delay_in_seconds) {
506+
void NodePlatform::PostDelayedTaskOnWorkerThreadImpl(
507+
v8::TaskPriority priority,
508+
std::unique_ptr<v8::Task> task,
509+
double delay_in_seconds,
510+
const v8::SourceLocation& location) {
505511
worker_thread_task_runner_->PostDelayedTask(std::move(task),
506512
delay_in_seconds);
507513
}
508514

509-
510515
IsolatePlatformDelegate* NodePlatform::ForIsolate(Isolate* isolate) {
511516
Mutex::ScopedLock lock(per_isolate_mutex_);
512517
auto data = per_isolate_[isolate];
@@ -528,8 +533,10 @@ bool NodePlatform::FlushForegroundTasks(Isolate* isolate) {
528533
return per_isolate->FlushForegroundTasksInternal();
529534
}
530535

531-
std::unique_ptr<v8::JobHandle> NodePlatform::CreateJob(
532-
v8::TaskPriority priority, std::unique_ptr<v8::JobTask> job_task) {
536+
std::unique_ptr<v8::JobHandle> NodePlatform::CreateJobImpl(
537+
v8::TaskPriority priority,
538+
std::unique_ptr<v8::JobTask> job_task,
539+
const v8::SourceLocation& location) {
533540
return v8::platform::NewDefaultJobHandle(
534541
this, priority, std::move(job_task), NumberOfWorkerThreads());
535542
}

src/node_platform.h

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -147,17 +147,23 @@ class NodePlatform : public MultiIsolatePlatform {
147147

148148
// v8::Platform implementation.
149149
int NumberOfWorkerThreads() override;
150-
void CallOnWorkerThread(std::unique_ptr<v8::Task> task) override;
151-
void CallDelayedOnWorkerThread(std::unique_ptr<v8::Task> task,
152-
double delay_in_seconds) override;
150+
void PostTaskOnWorkerThreadImpl(v8::TaskPriority priority,
151+
std::unique_ptr<v8::Task> task,
152+
const v8::SourceLocation& location) override;
153+
void PostDelayedTaskOnWorkerThreadImpl(
154+
v8::TaskPriority priority,
155+
std::unique_ptr<v8::Task> task,
156+
double delay_in_seconds,
157+
const v8::SourceLocation& location) override;
153158
bool IdleTasksEnabled(v8::Isolate* isolate) override;
154159
double MonotonicallyIncreasingTime() override;
155160
double CurrentClockTimeMillis() override;
156161
v8::TracingController* GetTracingController() override;
157162
bool FlushForegroundTasks(v8::Isolate* isolate) override;
158-
std::unique_ptr<v8::JobHandle> CreateJob(
163+
std::unique_ptr<v8::JobHandle> CreateJobImpl(
159164
v8::TaskPriority priority,
160-
std::unique_ptr<v8::JobTask> job_task) override;
165+
std::unique_ptr<v8::JobTask> job_task,
166+
const v8::SourceLocation& location) override;
161167

162168
void RegisterIsolate(v8::Isolate* isolate, uv_loop_t* loop) override;
163169
void RegisterIsolate(v8::Isolate* isolate,

0 commit comments

Comments
 (0)