Commit Graph

1115 Commits

Author SHA1 Message Date
Markus Stange
1cebff73d2 Bug 1323100 - Assign names to all remaining threads that are created through NS_NewThread and create them using NS_NewNamedThread instead. r=froydnj
MozReview-Commit-ID: 7W1dt2BBKJZ

--HG--
extra : rebase_source : ad47978ef81d048a90b9803803201eee32974024
2016-12-21 11:43:50 +01:00
Wes Kocher
26a1ba5c14 Backed out 27 changesets (bug 1323100) for clipboard leaktest failures a=backout
Backed out changeset 84fb749698ab (bug 1323100)
Backed out changeset d6d25e8bd001 (bug 1323100)
Backed out changeset 1b0855bb0c38 (bug 1323100)
Backed out changeset b6953e3f5739 (bug 1323100)
Backed out changeset 5572f3b63215 (bug 1323100)
Backed out changeset 12fb4c533659 (bug 1323100)
Backed out changeset c36524e4e919 (bug 1323100)
Backed out changeset 1e3b3eddbe26 (bug 1323100)
Backed out changeset 061110f1ae12 (bug 1323100)
Backed out changeset 413dbd31725b (bug 1323100)
Backed out changeset 06550f7eca62 (bug 1323100)
Backed out changeset 940933b13b36 (bug 1323100)
Backed out changeset a6d75c1cd724 (bug 1323100)
Backed out changeset 681cacbbaa3b (bug 1323100)
Backed out changeset 3d53787293f6 (bug 1323100)
Backed out changeset c0340dfe4766 (bug 1323100)
Backed out changeset 9f554991549d (bug 1323100)
Backed out changeset 757539e7039a (bug 1323100)
Backed out changeset a3c9b45aa917 (bug 1323100)
Backed out changeset 23d69df98a66 (bug 1323100)
Backed out changeset 1297ded6a01d (bug 1323100)
Backed out changeset f4235b97257f (bug 1323100)
Backed out changeset 93419cb4f29f (bug 1323100)
Backed out changeset 865d1b81c804 (bug 1323100)
Backed out changeset 54acf4ef8e84 (bug 1323100)
Backed out changeset 88d17bcd8205 (bug 1323100)
Backed out changeset 0c466e5e8933 (bug 1323100)
2016-12-29 16:28:36 -08:00
Markus Stange
48513de60f Bug 1323100 - Register most of the remaining threadfunc threads with the profiler. r=froydnj
As far as I can tell, this covers all the remaining threads which we start
using PR_CreateThread, except the ones that are created inside NSPR or NSS.

This adds a AutoProfilerRegister stack class for easy registering and
unregistering. There are a few places where we still call
profiler_register_thread() and profiler_unregister_thread() manually, either
because registration happens conditionally, or because there is a variable that
gets put on the stack before the AutoProfilerRegister (e.g. a dynamically
generated thread name). AutoProfilerRegister needs to be the first object on
the stack because it uses its own `this` pointer as the stack top address.

MozReview-Commit-ID: 3vwhS55Yzt

--HG--
extra : rebase_source : dffab11abf7d4b57fa54475fd22e71b84375cd7b
2016-12-29 22:32:52 +01:00
Markus Stange
38bf16074f Bug 1323100 - Stop double-registering the LazyIdleThread with the profiler. r=froydnj
MozReview-Commit-ID: 2vdcgCcdOYJ

--HG--
extra : rebase_source : 2a42caebc2a80b4d634eb741bbc196a718379e22
2016-12-21 23:07:26 +01:00
Markus Stange
34808aee09 Bug 1323100 - Register named threads with the profiler. r=froydnj
MozReview-Commit-ID: FbE4BTcnfEh

--HG--
extra : rebase_source : 4690ebcaf3b71008e9a4d5db31486683dcdb3f91
2016-12-14 19:50:11 -05:00
Markus Stange
c9adaf222f 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

--HG--
extra : rebase_source : aa1d0c19250765c80c8e8ae59d2752bb4ad7eeac
2016-12-20 15:10:20 +01:00
Markus Stange
4361d7a6e0 Bug 1323100 - Use nsThreadPoolNaming::GetNextThreadName and NS_NewNamedThread in nsThreadPool. r=froydnj
MozReview-Commit-ID: 6IB5yvJtAQm

--HG--
extra : rebase_source : d4d9bf2dab3e75821e931a11fa0a16f6ee1eb970
2016-12-22 00:14:30 +01:00
Markus Stange
1b72f37c98 Bug 1323100 - Assign names to all remaining threads that are created through NS_NewThread and create them using NS_NewNamedThread instead. r=froydnj
MozReview-Commit-ID: 7W1dt2BBKJZ

--HG--
extra : rebase_source : ad47978ef81d048a90b9803803201eee32974024
2016-12-21 11:43:50 +01:00
Bill McCloskey
8a53959bbe Bug 1320753 - Make TabGroup event target be a ThrottledEventQueue for timers, workers (r=bkelly)
MozReview-Commit-ID: FCfYz02r8yI
2016-12-23 11:48:13 -08:00
Wes Kocher
b427632e5a Merge m-c to inbound, a=merge 2016-12-19 16:48:34 -08:00
JW Wang
6567965ad9 Bug 1324335. Part 1 - give MozPromiseHolder a move constructor. r=gerald
MozReview-Commit-ID: BBY4u0JSJTM

--HG--
extra : rebase_source : db81fc96d024304d3eef7f7b5ba503e0753662f2
extra : source : 4a22337cb08711fe4b0fe44d58a8d520c11c975f
2016-12-17 11:12:00 +08:00
Jeff Walden
be049bba4a Bug 1315560 - Make nsThreadSyncDispatch::IsPending properly respect the C++ memory model with respect to threads. r=froydnj
--HG--
extra : rebase_source : 309596fd407a13900fdf51f7e6f1972b8613026e
2016-11-07 15:24:11 -08:00
JW Wang
b4d0509caa Bug 1321744. Part 4 - fix comments. r=gerald
MozReview-Commit-ID: HPIDi9tUHD3

--HG--
extra : rebase_source : c22cb4da5f3916559f3776409fdbefaf5328ac0b
2016-12-14 10:59:41 +08:00
JW Wang
d4d5d4d5bb Bug 1321744. Part 3 - remove ThenPromise and replace its use with Then. r=gerald
MozReview-Commit-ID: AsmePdCp2tC

--HG--
extra : rebase_source : e08ac48584375d2bc12f5b73a1e60f2800359ed9
extra : intermediate-source : 94e727f7cd11bb04812da3662a0ee1fd461cc832
extra : source : 5307716231f93b01c0357011f8849015d4d97d0a
2016-12-04 08:51:25 +08:00
JW Wang
fbfcb37762 Bug 1321744. Part 2 - add the ability of promise chaining to Then(). r=gerald
MozReview-Commit-ID: IaDgoWcmFRO

--HG--
extra : rebase_source : 420834ba105e2606e10f2dfef480a3586a5f8fb3
extra : intermediate-source : 1c2f25bdf9e1dcac085df830e6de7193d66dbe10
extra : source : 4bb6d68fb29d3b0c5eb3a66705b69892b1c94ad4
2016-12-13 17:07:03 +08:00
JW Wang
dea1beb2c4 Bug 1321744. Part 1 - re-implement MozPromise::Then() using the command pattern. r=gerald
MozReview-Commit-ID: 2FkjtBKjIAc

--HG--
extra : rebase_source : 9cda835345135b483640226f7a4afdbc26459a82
extra : intermediate-source : 74f5fc402b87c073d581c1a6f6798c7522809dbf
extra : source : 7e7aa2e92f1f1deb901a8e04b68de999340a772d
2016-12-02 15:41:19 +08:00
Carsten "Tomcat" Book
eb5f79ce29 Merge mozilla-central to autoland 2016-12-13 16:53:28 +01:00
JW Wang
52ec68d60c Bug 1323155 - fix data race in mCompletionPromise. r=gerald
MozReview-Commit-ID: J2TVNWvx9pb

--HG--
extra : rebase_source : 64b4f60500eafd24660141103a22693ce37dfd2b
2016-12-13 16:55:14 +08:00
Andrew McCreight
fccb0645ed Bug 1323042 - forbid MOZ_COUNT_{CTOR,DTOR} for nsISupports classes; r=froydnj 2016-12-12 09:27:58 -05:00
Nathan Froyd
826598caba Backout aba6c73511a2 (bug 1307961) for massive test bustage resulting in a CLOSED TREE; r=alltheorange 2016-12-12 08:45:46 -05:00
Andrew McCreight
e31b5489da Bug 1307961 - require consistent bloatview reporting for nsISupports classes; r=froydnj 2016-12-12 07:58:33 -05:00
Tomislav Jurin
348bfffc19 Bug 1296189 - Replace NS_RUNTIMEABORT("some string literal message") with MOZ_CRASH(). r=froydnj 2016-12-02 13:46:53 -08:00
JW Wang
0bd4f42b74 Bug 1321471. Part 2 - remove CompletionPromise() to enforce use of ThenPromise(). r=jwwang
MozReview-Commit-ID: 9zC3JnzumES

--HG--
extra : rebase_source : c4d41c3128c6521fdbb7ac8386446b2b846f21f0
2016-12-02 10:40:01 +08:00
Ryan VanderMeulen
9bd4ab78e6 Merge m-c to inbound. a=merge 2016-12-01 09:33:46 -05:00
JW Wang
b49cd98e3b Bug 1321250 - Add MozPromise::ThenPromise() for easier promise chaining. r=jya
MozReview-Commit-ID: 7J60CN0HbOW

--HG--
extra : rebase_source : d5fae5853c2c6c3197361db9c62424b6cbe9f593
extra : source : 8ab119efc0d23e9d919846489a0bdc9473d2fbd6
2016-11-30 18:23:12 +08:00
Bill McCloskey
6df682a091 Bug 1320753 - Adding nsINamed naming to nsITimer (r=ehsan)
MozReview-Commit-ID: AbyLcMhRvbx
2016-11-30 18:01:59 -08:00
Bill McCloskey
972fbd3fdf Bug 1320753 - Add nsINamed and have Runnable implement it (r=ehsan)
MozReview-Commit-ID: 6Vuw3aJ3860
2016-11-30 18:01:59 -08:00
Gerald Squelart
43d8fb333c Bug 1313497 - InvokeAsync taking a lambda - r=froydnj
This new InvokeAsync overload takes a single lambda (or any function object).
This is most useful when a method call is not strictly necessary.

Avoid obvious copies by refusing lvalue-references.
(If one day this is really needed, the implementation is already there, hidden
inside `namespace detail`).

MozReview-Commit-ID: 57gPBz9kO1q

--HG--
extra : rebase_source : c9330ca2b6d06dac0318f38a68dadbbccc112325
2016-11-13 11:13:07 +11:00
Gerald Squelart
e4d1e66e1a Bug 1313497 - Storages can be provided to InvokeAsync - r=froydnj
InvokeAsync' Storages work like NewRunnableMethod, where template
parameters must be given, to specify the storage of arguments that are passed
to the target method.
This is especially useful when target methods take references (or pointers),
and there is a choice between passing the reference as-is because the object is
long-lived, or by taking a copy otherwise.

If no Storages are provided, InvokeAsync will store (non-reference/pointer)
objects and move them into the target method parameters.

MozReview-Commit-ID: 9qTQf84bOMv

--HG--
extra : rebase_source : c73e803f9024fbaf0ff8b2e615013a42f4f3c914
2016-11-11 15:10:46 +11:00
Andreas Farre
5ae81e4455 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

--HG--
extra : rebase_source : 5a731962d417c4b3352970b2adb92b5d31de021c
2016-11-10 10:01:51 +01:00
JW Wang
edcebe85dc Bug 1225731 - Early bailout from TaskQueue::DispatchLocked(). r=froydnj
MozReview-Commit-ID: Xhj87WeRID

--HG--
extra : rebase_source : 0de51688f506a1e302129e69a6353a9d48e6bfed
2016-11-10 15:45:45 +08:00
JW Wang
fa5d7da911 Bug 1316529. Part 2 - remove TaskQueue::DispatchMode. r=froydnj
MozReview-Commit-ID: 5F2OHCpxx7K

--HG--
extra : rebase_source : 215c489a6da017692c491e8ae1e8be8fb2d7a64d
2016-11-10 15:34:35 +08:00
JW Wang
f94c8356e3 Bug 1316529. Part 1 - Remove TaskQueue::mIsFlushing. r=froydnj
MozReview-Commit-ID: 3x4OO7B2htB

--HG--
extra : rebase_source : daf50feae64f625370145b59a0377c7671645f19
2016-11-10 15:28:48 +08:00
Olli Pettay
cb803253a5 bug 1306591, add secondary event queue to let high priority messages to be processed sooner, r=billm
--HG--
extra : rebase_source : 2ce6e06783e399e787d0445943f9f39bcef1cc22
2016-11-08 14:05:45 +02:00
Ben Kelly
2ee0844d95 Bug 1300659 P1 Add the ThrottledEventQueue class. r=froydnj 2016-11-07 12:30:17 -08:00
Phil Ringnalda
06521a66a4 Merge m-c to m-i
MozReview-Commit-ID: 7W5SwSOspcB
2016-11-04 21:04:44 -07:00
Andreas Farre
8f6319bbcd Bug 1315187 - Assert that thread calling IdleDispatch is the thread that will run it. r=smaug
MozReview-Commit-ID: LGrKeIUaGCD

--HG--
extra : rebase_source : 210092f7e0d533bcd2f2748a52460152dc462b61
2016-11-04 09:08:31 +01:00
Andreas Farre
261494e785 Bug 1314314 - Restrict when idle callbacks are fired. r=bkelly
MozReview-Commit-ID: L9ZTVFeHGTw

--HG--
extra : rebase_source : 7178cd47eba6b95539bf9e7f44df8e596de13ebf
2016-11-03 18:47:23 +01:00
Eric Rahm
63cd7f256f Bug 1313469 - Part 2: Convert TestCOMArray to a gtest. r=froydnj
MozReview-Commit-ID: CEhXX60lpZ8

--HG--
rename : xpcom/tests/TestCOMArray.cpp => xpcom/tests/gtest/TestCOMArray.cpp
2016-11-04 16:21:59 -07:00
Phil Ringnalda
c0dcc76ef6 Backed out 18 changesets (bug 1313469, bug 1313468, bug 1313474, bug 1313472, bug 1313473, bug 1313470, bug 1313471, bug 1313467, bug 1313466) for OS X gtest crashes
CLOSED TREE

Backed out changeset 5b5686e1bcd1 (bug 1313474)
Backed out changeset e8d20bdd13d4 (bug 1313473)
Backed out changeset 643bdd25166e (bug 1313473)
Backed out changeset 9a33c84ab30a (bug 1313472)
Backed out changeset 4d84926813e9 (bug 1313472)
Backed out changeset c85e7a7a5a99 (bug 1313471)
Backed out changeset 5d82bc9436ab (bug 1313471)
Backed out changeset 00f7b342bb29 (bug 1313470)
Backed out changeset f012923cfd8b (bug 1313470)
Backed out changeset e7d5b8135ae6 (bug 1313470)
Backed out changeset 82bf00ff6505 (bug 1313469)
Backed out changeset 5364fc8db9b0 (bug 1313469)
Backed out changeset 02959aa60196 (bug 1313468)
Backed out changeset 3c25a6ed5914 (bug 1313467)
Backed out changeset 0acc0a131101 (bug 1313467)
Backed out changeset 6fae1bbd3819 (bug 1313467)
Backed out changeset 107eb264a40d (bug 1313467)
Backed out changeset 9b60e295a885 (bug 1313466)

MozReview-Commit-ID: IKsAZxBYMfv

--HG--
rename : xpcom/tests/gtest/TestAutoPtr.cpp => xpcom/tests/TestAutoPtr.cpp
rename : xpcom/tests/gtest/TestAutoRef.cpp => xpcom/tests/TestAutoRef.cpp
rename : xpcom/tests/gtest/TestCOMArray.cpp => xpcom/tests/TestCOMArray.cpp
rename : xpcom/tests/gtest/TestCOMPtr.cpp => xpcom/tests/TestCOMPtr.cpp
rename : xpcom/tests/gtest/TestCOMPtrEq.cpp => xpcom/tests/TestCOMPtrEq.cpp
rename : xpcom/tests/gtest/TestFile.cpp => xpcom/tests/TestFile.cpp
rename : xpcom/tests/gtest/TestHashtables.cpp => xpcom/tests/TestHashtables.cpp
rename : xpcom/tests/gtest/TestID.cpp => xpcom/tests/TestID.cpp
2016-11-03 23:00:47 -07:00
Eric Rahm
a20fe79aec Bug 1313469 - Part 2: Convert TestCOMArray to a gtest. r=froydnj
MozReview-Commit-ID: CEhXX60lpZ8

--HG--
rename : xpcom/tests/TestCOMArray.cpp => xpcom/tests/gtest/TestCOMArray.cpp
2016-11-03 17:55:21 -07:00
Ryan Hunt
e7c126d7a0 Bug 1313978 - Don't use Preferences in MainThreadIdlePeriod until they are available r=smaug 2016-10-31 17:30:38 -05:00
Andreas Farre
3aecf57375 Bug 1198381 - Implement the requestIdleCallback feature, r=froydnj,mattwoodrow,smaug
Expose requestIdleCallback on Window and implement running callbacks
in idle periods by posting rICs to the main threads idle queue.

MozReview-Commit-ID: KSYQsyaZ6is

--HG--
extra : rebase_source : 6abd41c2de96b39004f1b2c3c740e81de570970c
2016-08-22 14:52:45 +02:00
Andreas Farre
d87b4d239b 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

--HG--
extra : rebase_source : 0d5bfeebd08e01597c2cd8b76e8e848d9f9c58f0
2016-08-24 16:18:06 +02:00
Phil Ringnalda
445097654c Merge m-i to m-c, a=merge
MozReview-Commit-ID: 56Hspl8LZMY
2016-10-27 19:21:47 -07:00
Gerald Squelart
a9a4de3944 Bug 1300476 - Prevent passing references through InvokeAsync - r=froydnj
Passing references to an async call is dangerous because referenced objects
could be destroyed before/during the call, or even be stored by the callee.

The assertion message points at bug 1313497, which is a follow-up to
(eventually) re-allow references in a safer manner.

MozReview-Commit-ID: FTgI5CGCVAe

--HG--
extra : rebase_source : 3062a7441e21617f559accf4476cdafa5575e8ed
2016-10-27 15:13:37 +11:00
Gian-Carlo Pascutto
8b0d2992cb Bug 1310116 - Allow waitpid but warn on creating processes in content. r=jld
MozReview-Commit-ID: JjNfA6wUe3T

--HG--
extra : rebase_source : ad565d238e7554a951d2f6b4e076918bdfd7a450
extra : histedit_source : 127ff408e498f7c687cf6e7f8f7b4e2fbb8c5ae8
2016-10-25 20:43:42 +02:00
Mike Conley
85ea24e315 Bug 1312597 - Increase ThreadStackHelper's initial max buffer size to avoid (chrome script) placeholder in BHR pseudostacks. r=jchen
MozReview-Commit-ID: 6gE4eug7cmY

--HG--
extra : rebase_source : 84b0270f251d6b715fcb2df04005ff437b9d3226
2016-10-25 14:28:23 -04:00
Carsten "Tomcat" Book
e42af6918c Backed out changeset 333a899fb5e6 (bug 1198381) 2016-10-25 12:32:56 +02:00
Carsten "Tomcat" Book
1895ce466b Backed out changeset eb2606332cb8 (bug 1198381) 2016-10-25 12:32:54 +02:00