gecko-dev/xpcom/threads
Boris Zbarsky e42c854c27 Bug 1607953. Refactor our runnable metrics and long task code to make it more robust and correct. r=jesup,tarek,froydnj
The idea is to use the slice-accounting setup from the performance counters for
idle tasks as well, and fix the various bugs we have when nested event loops
are involved.

The bit in nsThread::SizeOfEventQueues that counted memory for
mCurrentPerformanceCounter was wrong all along, I think: the docgroup that owns
the performance counter should account for it.

Differential Revision: https://phabricator.services.mozilla.com/D59596

--HG--
extra : moz-landing-system : lando
2020-01-13 22:31:05 +00:00
..
AbstractEventQueue.h Bug 1572337: Monitor running event delays and start times r=froydnj 2019-11-08 21:07:36 +00:00
AbstractThread.cpp
AbstractThread.h
BlockingResourceBase.cpp Bug 1241518 - Part 3: Switch various nsAutoPtr uses to UniquePtr in xpcom/ r=kmag 2020-01-07 00:06:05 +00:00
BlockingResourceBase.h
CPUUsageWatcher.cpp
CPUUsageWatcher.h
CondVar.h Bug 1599614 - Condvar::Notify/NotifyAll are not fallible. r=bzbarsky 2019-11-27 13:46:55 +00:00
DataMutex.h Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-10-06 18:29:55 +00:00
DeadlockDetector.h
EventQueue.cpp Bug 1597728: Make EventQueue support templatization for queue page size r=froydnj 2019-11-21 03:47:19 +00:00
EventQueue.h Bug 1597158 part 3. Expose whether there are any idle runnables on PrioritizedEventQueue. r=smaug 2019-11-22 14:06:29 +00:00
IdlePeriodState.cpp Bug 1597158 part 4. Stop unlocking the provided mutex in IdlePeriodState methods. r=smaug 2019-11-22 14:06:17 +00:00
IdlePeriodState.h Bug 1606410. Make idle state peeking look more like idle state getting, so consumers can be more similar. r=smaug 2019-12-31 15:15:17 +00:00
IdleTaskRunner.cpp
IdleTaskRunner.h
InputEventStatistics.cpp
InputEventStatistics.h
LazyIdleThread.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
LazyIdleThread.h
LeakRefPtr.h
MainThreadIdlePeriod.cpp
MainThreadIdlePeriod.h
MainThreadQueue.h Bug 1597157. Remove unused mNextIdleDeadline bits. r=smaug 2019-11-18 17:05:30 +00:00
MainThreadUtils.h
Monitor.h Bug 1599614 - Condvar::Notify/NotifyAll are not fallible. r=bzbarsky 2019-11-27 13:46:55 +00:00
MozPromise.h Bug 1608064 - Replace Is{Rvalue,Lvalue,}Reference with <type_traits> equivalents. r=froydnj 2020-01-10 10:40:34 +00:00
MozPromiseInlines.h Bug 1575744 - P4. Add MozPromise::FromDomPromise. r=bholley 2019-09-20 04:09:46 +00:00
Mutex.h
PerformanceCounter.cpp
PerformanceCounter.h
PrioritizedEventQueue.cpp Bug 1606410. Make idle state peeking look more like idle state getting, so consumers can be more similar. r=smaug 2019-12-31 15:15:17 +00:00
PrioritizedEventQueue.h Bug 1597158 part 3. Expose whether there are any idle runnables on PrioritizedEventQueue. r=smaug 2019-11-22 14:06:29 +00:00
Queue.h Bug 1597728: Make EventQueue support templatization for queue page size r=froydnj 2019-11-21 03:47:19 +00:00
RWLock.cpp
RWLock.h
RecursiveMutex.cpp
RecursiveMutex.h
ReentrantMonitor.h
SchedulerGroup.cpp Bug 1561715 - Part 1: Remove unused functionality in SchedulerGroup. r=smaug 2019-12-11 14:48:41 +00:00
SchedulerGroup.h Bug 1561715 - Part 3: Remove SchedulerGroup::IsBackground. r=smaug 2019-12-12 15:20:52 +00:00
SharedThreadPool.cpp
SharedThreadPool.h Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
StateMirroring.h
StateWatching.h
SyncRunnable.h
SynchronizedEventQueue.cpp
SynchronizedEventQueue.h Bug 1572337: Monitor running event delays and start times r=froydnj 2019-11-08 21:07:36 +00:00
SystemGroup.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
SystemGroup.h
TaskCategory.h
TaskDispatcher.h
TaskQueue.cpp Bug 1602646 - Remove vestigial references to cooperative scheduling r=froydnj 2019-12-12 00:56:53 +00:00
TaskQueue.h Bug 1602646 - Remove vestigial references to cooperative scheduling r=froydnj 2019-12-12 00:56:53 +00:00
ThreadBound.h
ThreadDelay.cpp
ThreadDelay.h
ThreadEventQueue.cpp Bug 1607595 - Remove uses of mozilla::IsBaseOf. r=froydnj 2020-01-08 14:52:10 +00:00
ThreadEventQueue.h Bug 1572337: Monitor running event delays and start times r=froydnj 2019-11-08 21:07:36 +00:00
ThreadEventTarget.cpp Bug 1604005 implement ThreadEventTarget::IsOnCurrentThreadInfallible() to handle case of null mThread r=froydnj 2020-01-08 15:25:27 +00:00
ThreadEventTarget.h Bug 1599922 clear PRThread references before the PRThread is deleted r=froydnj 2019-12-09 14:47:47 +00:00
ThreadLocalVariables.cpp
ThrottledEventQueue.cpp Bug 1597728: Make EventQueue support templatization for queue page size r=froydnj 2019-11-21 03:47:19 +00:00
ThrottledEventQueue.h
TimerThread.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
TimerThread.h
components.conf
moz.build Bug 1589561. Factor out idle handling from PrioritizedEventQueue. r=smaug 2019-10-20 15:08:44 +00:00
nsEnvironment.cpp Bug 1575479 - Encapsulate mBaseHashtableET::mData. r=froydnj 2019-09-10 13:51:09 +00:00
nsEnvironment.h
nsICancelableRunnable.h
nsIEnvironment.idl
nsIEventTarget.idl Bug 1602646 - Remove vestigial references to cooperative scheduling r=froydnj 2019-12-12 00:56:53 +00:00
nsIIdlePeriod.idl
nsIIdleRunnable.h
nsINamed.idl
nsIProcess.idl
nsIRunnable.idl Bug 1606672. Change nsIRunnablePriority values so increasing value indicates increased priority. r=smaug 2020-01-02 20:07:40 +00:00
nsISerialEventTarget.idl
nsISupportsPriority.idl
nsIThread.idl Bug 1572337: Make GetRunningEventDelay handle threadpools r=froydnj 2019-11-08 21:07:45 +00:00
nsIThreadInternal.idl
nsIThreadManager.idl Bug 1606657. nsIThreadManager.dispatchToMainThread should not assume that nsIRunnablePriority::PRIORITY_NORMAL is 0. r=smaug 2020-01-02 17:10:02 +00:00
nsIThreadPool.idl Bug 1604549 - remove scriptability and classinfo from nsThreadPool; r=bzbarsky 2019-12-17 17:12:14 +00:00
nsITimer.idl
nsMemoryPressure.cpp
nsMemoryPressure.h
nsProcess.h Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
nsProcessCommon.cpp Bug 1241518 - Part 1: Remove unused nsAutoPtr.h includes in xpcom/ r=kmag 2020-01-07 00:06:01 +00:00
nsProxyRelease.cpp
nsProxyRelease.h Bug 1607595 - Remove uses of mozilla::IsBaseOf. r=froydnj 2020-01-08 14:52:10 +00:00
nsThread.cpp Bug 1607953. Refactor our runnable metrics and long task code to make it more robust and correct. r=jesup,tarek,froydnj 2020-01-13 22:31:05 +00:00
nsThread.h Bug 1607953. Refactor our runnable metrics and long task code to make it more robust and correct. r=jesup,tarek,froydnj 2020-01-13 22:31:05 +00:00
nsThreadManager.cpp Bug 1241518 - Part 1: Remove unused nsAutoPtr.h includes in xpcom/ r=kmag 2020-01-07 00:06:01 +00:00
nsThreadManager.h Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2020-01-09 21:50:11 +00:00
nsThreadPool.cpp Bug 1241518 - Part 4: Switch nsThread to use UniquePtr r=KrisWright,kmag 2020-01-07 00:06:08 +00:00
nsThreadPool.h Bug 1572337: Make GetRunningEventDelay handle threadpools r=froydnj 2019-11-08 21:07:45 +00:00
nsThreadSyncDispatch.h
nsThreadUtils.cpp Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2020-01-09 21:50:11 +00:00
nsThreadUtils.h Bug 1608064 - Replace Is{Rvalue,Lvalue,}Reference with <type_traits> equivalents. r=froydnj 2020-01-10 10:40:34 +00:00
nsTimerImpl.cpp Bug 1241518 - Part 1: Remove unused nsAutoPtr.h includes in xpcom/ r=kmag 2020-01-07 00:06:01 +00:00
nsTimerImpl.h