Commit Graph

321 Commits

Author SHA1 Message Date
Andreas Farre
4cb28e7f9e Bug 1311425 - Make idle callbacks aware of nsITimers, r=froydnj 2017-05-24 21:12:55 -04:00
Olli Pettay
4a39d744a0 Bug 1358476, add support for timeout when doing idle dispatch, p=farre,smaug, r=nfroyd 2017-05-24 17:34:50 -04:00
Andreas Farre
fdcfcb9de0 Bug 1353206 - Expose nsIThread::idleDispatch to script. r=froydnj 2017-05-24 12:16:04 +02:00
Andreas Farre
41eb664f21 Bug 1366750 - Rename nsIIncrementalRunnable to nsIIdleRunnable. r=smaug
The name nsIIdleRunnable makes more sense, since its main use is in
nsIThread::idleDispatch.

MozReview-Commit-ID: H6qchxKnt7a
2017-05-23 13:24:25 +02:00
Bill McCloskey
ca7692f2b5 Bug 1351021 - Compute mean time between unlabeled (r=froydnj,data-r=bsmedberg)
Accumulates the time in between running unlabeled runnables in a histogram. This
measurement will be useful to see how much of a win the cooperative scheduler
will be, assuming we label no more runnables.

MozReview-Commit-ID: 9lgoGJcXLP9
2017-05-17 11:47:40 -07:00
Nathan Froyd
3b526b2200 Bug 1359490 - add an event loop spinning abstraction function; r=gerald
This function is arguably nicer than calling NS_ProcessNextEvent
manually, is slightly more efficient, and will enable better auditing
for NS_ProcessNextEvent when we do Quantum DOM scheduling changes.
2017-05-15 09:34:19 -04:00
Cervantes Yu
6bcb4f30a4 Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
NS_SetCurrentThreadName() is added as an alternative to PR_SetCurrentThreadName()
inside libxul. The thread names are collected in the form of crash annotation to
be processed on socorro.

MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Michael Layzell
67756b2a45 Bug 1168169 - Mark nsThreadShutdownContext::joiningThread as MOZ_UNSAFE_REF, r=froydnj
MozReview-Commit-ID: 16ebijitZcz
2017-04-17 14:57:25 -04:00
Bill McCloskey
38109b908e Bug 1350436 - Rename ValidatingDispatcher to SchedulerGroup (r=froydnj)
MozReview-Commit-ID: 1gWB9ZLPQfY
2017-04-10 16:49:39 -07:00
Sebastian Hengst
189424cb45 Backed out changeset 7fdcabdbb675 (bug 1024669) for failing mda, GTest and talos jobs. r=backout on a CLOSED TREE 2017-04-10 19:05:44 +02:00
Cervantes Yu
c2014c712d Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Carsten "Tomcat" Book
e6d6caf1f8 Backed out changeset 7a52d887bcea (bug 1024669) for bustage 2017-04-10 11:43:49 +02:00
Cervantes Yu
eb13868db5 Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Eric Rahm
f60adcc637 Bug 1353544 - Replace usage of PR_BEGIN_MACRO in xpcom. r=froydnj 2017-04-05 18:06:44 -07:00
David Major
7c0497b430 Bug 1344629 - Part 6: Rewrite unnecessary uses of nsLiteralString. r=dbaron
There's an antipattern where nsLiteralString is used as an unnecessary intermediary in converting from CharT* to CharT*,
e.g. CallAFunctionThatTakesACharPointer(NS_LITERAL_CSTRING("foo").get());
or
NS_NAMED_LITERAL_STRING(foo, "abc");
CallAFunctionThatTakesACharPointer(foo.get());

This patch rewrites the callsites that can be trivially changed to use char*/char16_t*.

I'd somewhat like to remove nsTLiteralString::get() altogether, but in code that's less straightforward than these examples, get() is useful enough to keep.

MozReview-Commit-ID: Kh1rUziVllo
2017-03-14 15:26:27 +13:00
Iris Hsiao
22d2818760 Backed out 12 changesets (bug 1344629) for stylo build bustage
Backed out changeset cf4273d3ac30 (bug 1344629)
Backed out changeset a96390e044e0 (bug 1344629)
Backed out changeset d9b330f9bc24 (bug 1344629)
Backed out changeset 2b460fe020af (bug 1344629)
Backed out changeset 0ada91b0452e (bug 1344629)
Backed out changeset 083304fcd6bd (bug 1344629)
Backed out changeset 53d7d1ce2c97 (bug 1344629)
Backed out changeset 55eee7078ae4 (bug 1344629)
Backed out changeset 7d3c06b3eca9 (bug 1344629)
Backed out changeset e5df14c3db61 (bug 1344629)
Backed out changeset 636095ff2815 (bug 1344629)
Backed out changeset 0be052ad24c1 (bug 1344629)
2017-03-14 11:52:24 +08:00
Blake Kaplan
bd2ab1bc6c Bug 1347007 - Register with the profiler after doing so for the ThreadManager. r=njn
MozReview-Commit-ID: 6gtDxmlgOta
2017-03-13 15:03:24 -07:00
David Major
a660713d2b Bug 1344629 - Part 6: Rewrite unnecessary uses of nsLiteralString. r=dbaron
There's an antipattern where nsLiteralString is used as an unnecessary intermediary in converting from CharT* to CharT*,
e.g. CallAFunctionThatTakesACharPointer(NS_LITERAL_CSTRING("foo").get());
or
NS_NAMED_LITERAL_STRING(foo, "abc");
CallAFunctionThatTakesACharPointer(foo.get());

This patch rewrites the callsites that can be trivially changed to use char*/char16_t*.

I'd somewhat like to remove nsTLiteralString::get() altogether, but in code that's less straightforward than these examples, get() is useful enough to keep.

MozReview-Commit-ID: Kh1rUziVllo
2017-03-14 15:26:27 +13:00
Bill McCloskey
3fdff512cf Bug 1337537 - Assert that runnables labeled with a given TabGroup never touch other TabGroups (r=ehsan)
MozReview-Commit-ID: sOdn9e5f57
2017-02-13 17:02:57 -08:00
Bill McCloskey
3955b64bb8 Bug 1331804 - Measure runnable times keyed by name for telemetry (r=ehsan,bsmedberg)
MozReview-Commit-ID: FQmJKwEgBdv
2017-01-24 16:34:37 -08:00
Bill McCloskey
a82c8d5566 Bug 1331804 - Add more runnable names (r=ehsan)
MozReview-Commit-ID: 1QBmqfgY6WI
2017-01-24 16:34:37 -08:00
Wes Kocher
ac78cfc4f2 Backed out 8 changesets (bug 1331804, bug 1332100) for windows vm debug dt5 failures a=backout
Backed out changeset 8bf7f0e27c6c (bug 1331804)
Backed out changeset 600c0b9026c2 (bug 1331804)
Backed out changeset 3a5b5b9ecace (bug 1331804)
Backed out changeset c76432c9954e (bug 1331804)
Backed out changeset 46a9096745e7 (bug 1332100)
Backed out changeset 8b751230fa23 (bug 1331804)
Backed out changeset 2810212347fd (bug 1331804)
Backed out changeset be72b7763910 (bug 1331804)

MozReview-Commit-ID: Ywdsr4GZ4a
2017-01-24 15:12:21 -08:00
Bill McCloskey
37ddff5138 Bug 1331804 - Measure runnable times keyed by name for telemetry (r=ehsan,bsmedberg)
MozReview-Commit-ID: FQmJKwEgBdv
2017-01-24 10:04:55 -08:00
Bill McCloskey
e584c01765 Bug 1331804 - Add more runnable names (r=ehsan)
MozReview-Commit-ID: 1QBmqfgY6WI
2017-01-24 10:04:55 -08:00
Markus Stange
4c0c6e759d Bug 1323100 - Register named threads with the profiler. r=froydnj
MozReview-Commit-ID: FbE4BTcnfEh
2016-12-14 19:50:11 -05:00
Markus Stange
02d82aa372 Bug 1323100 - Add nsThreadManager::NewNamedThread API. r=froydnj
The point of this exercise is to make the thread name available in the thread
func of the thread, so that we can register the thread with the profiler from
the very start of its lifetime, and so that registration and unregistration
can be inside the same function.

MozReview-Commit-ID: DiiMKUQVr55
2016-12-20 15:10:20 +01:00
Andreas Farre
bc0362c532 Bug 1313989 - Remove MutexAutoUnlock in nsThread::GetIdleEvent. r=froydnj,mattwoodrow
Rewrite VsyncRefreshDriverTimer::GetTimerRate to always use the cached
value of the vsync rate in VsyncChild to avoid processing events on
the main thread.

Since VsyncChild::GetTimerRate is called in VsyncRefreshDriverTimer's
constructor, that cached value is bound to be set soon. This should
make the period of time we need to guess in
VsyncRefreshDriverTimer::GetTimerRate very short.

MozReview-Commit-ID: 1bnHNXAP8jY
2016-11-10 10:01:51 +01:00
Olli Pettay
b7858f5e83 bug 1306591, add secondary event queue to let high priority messages to be processed sooner, r=billm 2016-11-08 14:05:45 +02:00
Andreas Farre
8b9e575377 Bug 1315187 - Assert that thread calling IdleDispatch is the thread that will run it. r=smaug
MozReview-Commit-ID: LGrKeIUaGCD
2016-11-04 09:08:31 +01:00
Andreas Farre
1546ce5e78 Bug 1198381 - Extend nsIThread with idleDispatch, r=froydnj,smaug
The intent of idleDispatch is the possibility to have a runnable
executed when the thread is idle. This is accomplished by adding an
event queue for idle tasks that will only be considered when the main
event queue is empty and the caller of ProcessNextEvent doesn't
require that we wait until there is an event on the main event queue.

MozReview-Commit-ID: IDWQfzZqWpZ
2016-08-24 16:18:06 +02:00
Carsten "Tomcat" Book
4ba5ac3176 Backed out changeset 333a899fb5e6 (bug 1198381) 2016-10-25 12:32:56 +02:00
Andreas Farre
30006face7 Bug 1198381 - Extend nsIThread with idleDispatch, r=froydnj,smaug
The intent of idleDispatch is the possibility to have a runnable
executed when the thread is idle. This is accomplished by adding an
event queue for idle tasks that will only be considered when the main
event queue is empty and the caller of ProcessNextEvent doesn't
require that we wait until there is an event on the main event queue.

MozReview-Commit-ID: IDWQfzZqWpZ
2016-08-24 16:18:06 +02:00
Carsten "Tomcat" Book
2dfe81885a merge mozilla-inbound to mozilla-central a=merge 2016-09-22 11:55:12 +02:00
Eric Faust
15333897fc Bug 1263595 - Avoid deadlock between the JIT and the gecko profiler on win64. (r=froydnj) 2016-09-15 21:35:14 -07:00
Cervantes Yu
62174f42e1 Bug 1303940 - MessageLoop::PostDelayedTask() should schedule the runnable on the target thread instead of the current thread. r=froydnj
MozReview-Commit-ID: 8yCY9WSwbAJ
2016-09-20 14:00:18 +08:00
Jan de Mooij
b402a91ead Bug 1302448 part 1 - Rename CycleCollectedJSRuntime to CycleCollectedJSContext. r=mccr8 2016-09-14 15:47:32 +02:00
Ben Kelly
a2dbbd7b44 Bug 1300118 P4 Make nsThread expect NS_DISPATCH_AT_END similar to nsThreadPool. r=bholley 2016-09-13 20:12:15 -07:00
Wes Kocher
38957ba9d1 Backed out 6 changesets (bug 1300118) for frequent Windows VM Xpcshell failures a=backout CLOSED TREE
Backed out changeset 24f714ad248c (bug 1300118)
Backed out changeset 6fe61ed092e8 (bug 1300118)
Backed out changeset dd18e29b64bf (bug 1300118)
Backed out changeset 50882fb40551 (bug 1300118)
Backed out changeset 60e82c1780e5 (bug 1300118)
Backed out changeset e40df52925d5 (bug 1300118)
2016-09-12 16:34:41 -07:00
Ben Kelly
252be41fb9 Bug 1300118 P4 Make nsThread expect NS_DISPATCH_AT_END similar to nsThreadPool. r=bholley 2016-09-12 12:32:21 -07:00
Ben Kelly
449d185850 Backout rev 5c7368370ff9 to 980659720b86 (bug 1300118 and bug 1300658) for incorrect bug number in commit message. r=me 2016-09-12 12:29:17 -07:00
Ben Kelly
e9bff1df31 Bug 1300118 P4 Make nsThread expect NS_DISPATCH_AT_END similar to nsThreadPool. r=bholley 2016-09-12 11:21:01 -07:00
Wes Kocher
9ca1b6d1c1 Backed out changeset 39da44265946 (bug 1263595) for build bustage a=backout CLOSED TREE 2016-09-16 14:19:22 -07:00
Eric Faust
67f078a908 Bug 1263595 - Avoid deadlock between the JIT and the gecko profiler on win64. (r=froydnj) 2016-09-15 21:35:14 -07:00
Phil Ringnalda
781e99ee0b Backed out changeset 48694b762a84 (bug 1263595) for -Werror bustage
CLOSED TREE
2016-09-15 22:04:50 -07:00
Eric Faust
0afb627b8f Bug 1263595 - Avoid deadlock between the JIT and the gecko profiler on win64. (r=froydnj) 2016-09-15 21:35:14 -07:00
Nicholas Nethercote
887efe04d5 Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm.
The new name makes the sense of the condition much clearer. E.g. compare:

  NS_WARN_IF_FALSE(!rv.Failed());

with:

  NS_WARNING_ASSERTION(!rv.Failed());

The new name also makes it clearer that it only has effect in debug builds,
because that's standard for assertions.
2016-09-01 15:01:16 +10:00
Nicholas Nethercote
d62d70da42 Bug 1299389 - Replace some raw pointers in nsThreadManager. r=froydnj.
nsThreadManager::get() can return a reference. This lets us remove some
redundant assertions.

nsThreadArray elements can be NotNull<>s.
2016-06-10 16:04:49 +10:00
Kan-Ru Chen
a9b19d0584 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES
2016-08-24 14:47:04 +08:00
Nicholas Nethercote
1f65390cc9 Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.
2016-08-08 12:18:10 +10:00
Alexandre Lissy
b2834a3543 Bug 1284674 - Remove NUWA r=cyu
MozReview-Commit-ID: GyMRNzOBKw6
2016-08-02 14:54:00 +02:00