commit 70425199e9a5fa80aa7419fa51763013a67226e1
parent dbcc1c1c53cc18c12ee083b6f1619fe15384682e
Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
Date: Wed, 19 Nov 2025 21:33:39 +0000
Bug 2001197 - Track runnables that are put in mPreStartRunnables. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D273312
Diffstat:
1 file changed, 11 insertions(+), 0 deletions(-)
diff --git a/dom/workers/WorkerPrivate.cpp b/dom/workers/WorkerPrivate.cpp
@@ -1624,6 +1624,10 @@ nsresult WorkerPrivate::DispatchLockHeld(
this, runnable.get()));
RefPtr<WorkerThreadRunnable> workerThreadRunnable =
static_cast<WorkerThreadRunnable*>(runnable.get());
+ PROFILER_MARKER("WorkerPrivate::DispatchLockHeld", OTHER,
+ {MarkerStack::MaybeCapture(
+ profiler_feature_active(ProfilerFeature::Flows))},
+ FlowMarker, Flow::FromPointer(runnable.get()));
mPreStartRunnables.AppendElement(workerThreadRunnable);
return NS_OK;
}
@@ -1653,6 +1657,10 @@ nsresult WorkerPrivate::DispatchLockHeld(
this, runnable.get()));
RefPtr<WorkerThreadRunnable> workerThreadRunnable =
static_cast<WorkerThreadRunnable*>(runnable.get());
+ PROFILER_MARKER("WorkerPrivate::DispatchLockHeld", OTHER,
+ {MarkerStack::MaybeCapture(
+ profiler_feature_active(ProfilerFeature::Flows))},
+ FlowMarker, Flow::FromPointer(runnable.get()));
mPreStartRunnables.AppendElement(workerThreadRunnable);
}
@@ -3671,6 +3679,9 @@ void WorkerPrivate::RunLoopNeverRan() {
if (!mPreStartRunnables.IsEmpty()) {
for (const RefPtr<WorkerThreadRunnable>& runnable : mPreStartRunnables) {
runnable->mCleanPreStartDispatching = true;
+ PROFILER_MARKER("WorkerPrivate::RunLoopNeverRan", OTHER, {},
+ TerminatingFlowMarker,
+ Flow::FromPointer(runnable.get()));
}
mPreStartRunnables.Clear();
}