gecko-dev/xpcom/threads
Nika Layzell c733984c4b Bug 1675820 - Part 6: Make DocGroup cycle-collected, r=farre,smaug
Previously, the DocGroup type was not cycle-collected, as it needed to have
references from other threads for Quantum DOM. Nowadays the only off-main-thread
use of DocGroup is for dispatching runnables to the main thread which should be
tracked using a performance counter for about:performance. This means we can
remove the DocGroup references from these dispatching callsites, only storing
the Performance Counter we're interested in, and simplify make DocGroup be
cycle-collected itself.

This fixes a leak caused by adding the WindowGlobalChild getter to
WindowContext, by allowing cycles between the document and its BrowsingContext
to be broken by the cycle-collector.

Differential Revision: https://phabricator.services.mozilla.com/D108865
2021-03-18 19:24:50 +00:00
..
AbstractThread.cpp
AbstractThread.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
BlockingResourceBase.cpp Bug 1698697 - Fix BlockingResourceBase code with callstack tracking enabled. r=nika 2021-03-16 05:18:10 +00:00
BlockingResourceBase.h Bug 1698697 - Fix BlockingResourceBase code with callstack tracking enabled. r=nika 2021-03-16 05:18:10 +00:00
components.conf
CondVar.h Bug 1676361 - Clean up profiler includes. r=gerald 2020-11-23 16:09:13 +00:00
CPUUsageWatcher.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
CPUUsageWatcher.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
DataMutex.h Bug 1671403 - DataMutexBase::Mutex() gives const& access to the mutex - r=sg 2020-11-19 11:47:08 +00:00
DeadlockDetector.h Bug 1691913 - Rename nsBaseHashtable::Put to InsertOrUpdate. r=xpcom-reviewers,necko-reviewers,jgilbert,dragana,nika 2021-02-26 09:11:46 +00:00
EventQueue.cpp Bug 1672055: Fix mismatch in nsIRunnablePriority and EventQueuePriority. r=smaug 2020-10-20 03:57:24 +00:00
EventQueue.h Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
IdlePeriodState.cpp Bug 1683031 - pt 5. Add an assertion and document idle request IDs r=smaug 2020-12-22 17:56:46 +00:00
IdlePeriodState.h Bug 1662265 - Fix input events handling for sync XHR when both TaskController and e10s are enabled r=smaug 2020-12-15 01:33:24 +00:00
IdleTaskRunner.cpp Bug 1698191: Convert IdleTaskRunner to use the TaskController API directly. r=smaug,sfink 2021-03-16 14:39:45 +00:00
IdleTaskRunner.h Bug 1698191: Convert IdleTaskRunner to use the TaskController API directly. r=smaug,sfink 2021-03-16 14:39:45 +00:00
InputEventStatistics.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
InputEventStatistics.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
InputTaskManager.cpp Bug 1669214 - Part 4: Add code to forward runnables from EventQueue::PutEvent to the TaskController. r=smaug 2020-10-06 19:06:57 +00:00
InputTaskManager.h Bug 1685577 - Disable dom.input_events.canSuspendInBCG.enabled for now, r=sefeng 2021-01-08 12:58:24 +00:00
LazyIdleThread.cpp
LazyIdleThread.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
LeakRefPtr.h
MainThreadIdlePeriod.cpp
MainThreadIdlePeriod.h
MainThreadUtils.h
Monitor.h
moz.build Bug 1119956 introduce DiscardableRunnable for tasks that might not run but might not implement cancellation r=asuth,sg 2020-12-02 09:36:25 +00:00
MozPromise.h Bug 1619947 - Make MozPromise::All work correctly with const r=bwc 2021-01-25 15:34:29 +00:00
MozPromiseInlines.h
Mutex.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
nsEnvironment.cpp
nsEnvironment.h
nsICancelableRunnable.h Bug 1119956 add CancelableRunnable documentation to clarify expectations r=sg 2020-12-01 10:05:21 +00:00
nsIDirectTaskDispatcher.idl
nsIDiscardableRunnable.h Bug 1119956 introduce DiscardableRunnable for tasks that might not run but might not implement cancellation r=asuth,sg 2020-12-02 09:36:25 +00:00
nsIEnvironment.idl
nsIEventTarget.idl
nsIIdlePeriod.idl
nsIIdleRunnable.h
nsINamed.idl
nsIProcess.idl
nsIRunnable.idl Bug 1672055: Fix mismatch in nsIRunnablePriority and EventQueuePriority. r=smaug 2020-10-20 03:57:24 +00:00
nsISerialEventTarget.idl
nsISupportsPriority.idl
nsIThread.idl
nsIThreadInternal.idl
nsIThreadManager.idl Bug 1696397: Move SpinEventLoopUntilOrShutdown to -Quit and move the current shutdown state logic from nsThreadManager to AppShutdown; r=kmag,xpcom-reviewers 2021-03-17 08:07:48 +00:00
nsIThreadPool.idl
nsITimer.idl
nsMemoryPressure.cpp
nsMemoryPressure.h
nsProcess.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
nsProcessCommon.cpp Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
nsProxyRelease.cpp
nsProxyRelease.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
nsThread.cpp Bug 1675820 - Part 6: Make DocGroup cycle-collected, r=farre,smaug 2021-03-18 19:24:50 +00:00
nsThread.h Bug 1688937 - Remove now-unused thread counting r=KrisWright 2021-02-01 18:25:27 +00:00
nsThreadManager.cpp Bug 1696397: Move SpinEventLoopUntilOrShutdown to -Quit and move the current shutdown state logic from nsThreadManager to AppShutdown; r=kmag,xpcom-reviewers 2021-03-17 08:07:48 +00:00
nsThreadManager.h Bug 1696397: Move SpinEventLoopUntilOrShutdown to -Quit and move the current shutdown state logic from nsThreadManager to AppShutdown; r=kmag,xpcom-reviewers 2021-03-17 08:07:48 +00:00
nsThreadPool.cpp Bug 1691589 - Reduce reliance on GeckoProfiler.h when only labels (and maybe markers) are needed - r=necko-reviewers,geckoview-reviewers,sg,agi,florian 2021-02-16 04:44:19 +00:00
nsThreadPool.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
nsThreadSyncDispatch.h
nsThreadUtils.cpp Bug 1119956 implement IdleRunnableWrapper::OnDiscard() r=sg 2020-12-06 21:51:01 +00:00
nsThreadUtils.h Bug 1680217 - Allow NewRunnableMethod to move in the this pointer from a RefPtr. r=xpcom-reviewers,KrisWright 2020-12-07 21:43:43 +00:00
nsTimerImpl.cpp Bug 1691589 - Reduce reliance on GeckoProfiler.h when only labels (and maybe markers) are needed - r=necko-reviewers,geckoview-reviewers,sg,agi,florian 2021-02-16 04:44:19 +00:00
nsTimerImpl.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
PerformanceCounter.cpp
PerformanceCounter.h
Queue.h
RecursiveMutex.cpp
RecursiveMutex.h
ReentrantMonitor.h Bug 1676361 - Clean up profiler includes. r=gerald 2020-11-23 16:09:13 +00:00
RWLock.cpp
RWLock.h Bug 1660470 - Add missing include directives/forward declarations. r=nika 2020-11-23 16:21:38 +00:00
SchedulerGroup.cpp Bug 1675820 - Part 6: Make DocGroup cycle-collected, r=farre,smaug 2021-03-18 19:24:50 +00:00
SchedulerGroup.h Bug 1675820 - Part 6: Make DocGroup cycle-collected, r=farre,smaug 2021-03-18 19:24:50 +00:00
SharedThreadPool.cpp Bug 1634281 - Use nsTHashMap instead of nsDataHashtable. r=xpcom-reviewers,necko-reviewers,jgilbert,nika,valentin 2021-03-10 10:47:47 +00:00
SharedThreadPool.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
SpinEventLoopUntil.h Bug 1676365 - Move SpinEventLoopUntil to separate header. r=#xpcom-reviewers 2020-11-23 16:10:41 +00:00
StateMirroring.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
StateWatching.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
SynchronizedEventQueue.cpp
SynchronizedEventQueue.h Bug 1669256 - Part 5: Remove dead code from ProcessNextEvent and its supporting functions. r=smaug 2020-10-09 17:38:15 +00:00
SyncRunnable.h Bug 1595994 - P14. Don't dealock if we failed to dispatch a task and return error code. r=mattwoodrow 2020-10-20 23:28:10 +00:00
TaskCategory.h
TaskController.cpp Bug 1691517: Do not crash inside TaskController when the main thread is unavailable. r=smaug 2021-02-18 03:53:29 +00:00
TaskController.h Bug 1675073: Manually set the stack size for TaskController pool threads. r=aosmond,smaug 2020-12-14 01:07:59 +00:00
TaskDispatcher.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
TaskQueue.cpp
TaskQueue.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
ThreadBound.h
ThreadDelay.cpp
ThreadDelay.h
ThreadEventQueue.cpp Bug 1691589 - Reduce reliance on GeckoProfiler.h when only labels (and maybe markers) are needed - r=necko-reviewers,geckoview-reviewers,sg,agi,florian 2021-02-16 04:44:19 +00:00
ThreadEventQueue.h Bug 1669256 - Part 5: Remove dead code from ProcessNextEvent and its supporting functions. r=smaug 2020-10-09 17:38:15 +00:00
ThreadEventTarget.cpp Bug 1510226 - Do not block main thread in nsThread::Init r=froydnj,KrisWright 2021-01-25 21:44:15 +00:00
ThreadEventTarget.h Bug 1510226 - Do not block main thread in nsThread::Init r=froydnj,KrisWright 2021-01-25 21:44:15 +00:00
ThreadLocalVariables.cpp
ThrottledEventQueue.cpp Bug 1669256 - Part 3: Remove priority related code from ThreadEventQueue. r=smaug 2020-10-09 16:57:40 +00:00
ThrottledEventQueue.h
TimerThread.cpp Bug 1415923 - Ignore sleep and wake notifications on OSX r=xpcom-reviewers,KrisWright 2021-02-04 21:40:47 +00:00
TimerThread.h