Skip to content

Commit d34b02d

Browse files
eti-p-dorayetiennep-chromium
authored andcommittedMar 31, 2024
src: update default V8 platform to override functions with location
Co-authored-by: Etienne Pierre-Doray <etiennep@chromium.org> PR-URL: #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>
1 parent d9c47e9 commit d34b02d

File tree

2 files changed

+24
-11
lines changed

2 files changed

+24
-11
lines changed
 

Diff for: ‎src/node_platform.cc

+13-6
Original file line numberDiff line numberDiff line change
@@ -501,17 +501,22 @@ bool PerIsolatePlatformData::FlushForegroundTasksInternal() {
501501
return did_work;
502502
}
503503

504-
void NodePlatform::CallOnWorkerThread(std::unique_ptr<Task> task) {
504+
void NodePlatform::PostTaskOnWorkerThreadImpl(
505+
v8::TaskPriority priority,
506+
std::unique_ptr<v8::Task> task,
507+
const v8::SourceLocation& location) {
505508
worker_thread_task_runner_->PostTask(std::move(task));
506509
}
507510

508-
void NodePlatform::CallDelayedOnWorkerThread(std::unique_ptr<Task> task,
509-
double delay_in_seconds) {
511+
void NodePlatform::PostDelayedTaskOnWorkerThreadImpl(
512+
v8::TaskPriority priority,
513+
std::unique_ptr<v8::Task> task,
514+
double delay_in_seconds,
515+
const v8::SourceLocation& location) {
510516
worker_thread_task_runner_->PostDelayedTask(std::move(task),
511517
delay_in_seconds);
512518
}
513519

514-
515520
IsolatePlatformDelegate* NodePlatform::ForIsolate(Isolate* isolate) {
516521
Mutex::ScopedLock lock(per_isolate_mutex_);
517522
auto data = per_isolate_[isolate];
@@ -533,8 +538,10 @@ bool NodePlatform::FlushForegroundTasks(Isolate* isolate) {
533538
return per_isolate->FlushForegroundTasksInternal();
534539
}
535540

536-
std::unique_ptr<v8::JobHandle> NodePlatform::CreateJob(
537-
v8::TaskPriority priority, std::unique_ptr<v8::JobTask> job_task) {
541+
std::unique_ptr<v8::JobHandle> NodePlatform::CreateJobImpl(
542+
v8::TaskPriority priority,
543+
std::unique_ptr<v8::JobTask> job_task,
544+
const v8::SourceLocation& location) {
538545
return v8::platform::NewDefaultJobHandle(
539546
this, priority, std::move(job_task), NumberOfWorkerThreads());
540547
}

Diff for: ‎src/node_platform.h

+11-5
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)