Граф коммитов

1143 Коммитов

Автор SHA1 Сообщение Дата
Byron Campen [:bwc] 276d12bcef Bug 1328643: Add some locking to prevent races caused by Cancel/Init from threads other than the target. r=froydnj
MozReview-Commit-ID: FdAPTGDNKup

--HG--
extra : rebase_source : f0b04c73f0867708750fb9022e07f929ec221e84
2017-01-11 13:59:19 -06:00
Andrew McCreight 3dacb601cf Bug 1333974, part 1 - Add new API for releasing on main thread using the system group. r=froydnj
MozReview-Commit-ID: KP71tgpaXaY

--HG--
extra : rebase_source : c2cd25ee412748d47ed0953e2766fa8f40505d59
2017-01-31 11:35:10 -08:00
Chris Peterson e3e3523d58 Bug 1331171 - Part 3: Remove xpcom checks for Windows Vista. r=froydnj
Also remove the #includes of some unused header files.

MozReview-Commit-ID: 6mRoIazEA3j

--HG--
extra : rebase_source : 6f96d22543509bf09b684b0bfbfa624eafc58b94
2017-01-12 01:13:55 -08:00
Bill McCloskey 9c91994cbc Bug 1332494 - Add SystemGroup class similar to TabGroup/DocGroup (r=froydnj)
MozReview-Commit-ID: ApxMkd5zEQ5
2017-01-26 14:45:58 -08:00
Bill McCloskey ec760e9fba Bug 1332494 - Move TaskCategory definition to xpcom/threads/TaskCategory.h (r=froydnj)
MozReview-Commit-ID: ET43PbGRgxl
2017-01-26 14:45:58 -08:00
Nicholas Nethercote 22b6d342d7 Bug 1333296 (part 1) - Rename MOZ_ENABLE_PROFILER_SPS as MOZ_GECKO_PROFILER. r=mstange,glandium.
--HG--
extra : rebase_source : 223f3a17f009645369be503392cc1f0cea7f19a1
2017-01-24 14:15:12 +11:00
Bill McCloskey 5c55b07334 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 928b73f143 Bug 1331804 - Anonymize nsITimer runnable names (r=njn)
MozReview-Commit-ID: 5qoN9BKkH18
2017-01-24 16:34:37 -08:00
Bill McCloskey 608ea1b84a Bug 1331804 - Name each runnable from the ThrottledEventQueue queue (r=bkelly)
MozReview-Commit-ID: GRpBjmcKoah
2017-01-24 16:34:37 -08:00
Bill McCloskey cf9eef1ea4 Bug 1331804 - Give runnable names to some generic dispatch sites (r=ehsan)
MozReview-Commit-ID: 83IL5zcor1W
2017-01-24 16:34:37 -08:00
Bill McCloskey ef3d0f1c2e Bug 1331804 - Add more runnable names (r=ehsan)
MozReview-Commit-ID: 1QBmqfgY6WI
2017-01-24 16:34:37 -08:00
Wes Kocher a65c1b1dfe Merge inbound to central, a=merge
MozReview-Commit-ID: BeGxZAeguBr
2017-01-24 16:08:16 -08:00
Benjamin Smedberg 60cd8481eb Bug 1332631 part D - file moves from xpcom/glue to xpcom/threads, r=froydnj
MozReview-Commit-ID: kDBGvlYjyW

--HG--
rename : xpcom/glue/BlockingResourceBase.cpp => xpcom/threads/BlockingResourceBase.cpp
rename : xpcom/glue/BlockingResourceBase.h => xpcom/threads/BlockingResourceBase.h
rename : xpcom/glue/CondVar.h => xpcom/threads/CondVar.h
rename : xpcom/glue/DeadlockDetector.h => xpcom/threads/DeadlockDetector.h
rename : xpcom/glue/MainThreadUtils.h => xpcom/threads/MainThreadUtils.h
rename : xpcom/glue/Monitor.h => xpcom/threads/Monitor.h
rename : xpcom/glue/Mutex.h => xpcom/threads/Mutex.h
rename : xpcom/glue/ReentrantMonitor.h => xpcom/threads/ReentrantMonitor.h
rename : xpcom/glue/nsProxyRelease.cpp => xpcom/threads/nsProxyRelease.cpp
rename : xpcom/glue/nsProxyRelease.h => xpcom/threads/nsProxyRelease.h
rename : xpcom/glue/nsThreadUtils.cpp => xpcom/threads/nsThreadUtils.cpp
rename : xpcom/glue/nsThreadUtils.h => xpcom/threads/nsThreadUtils.h
extra : rebase_source : 5f908c04835192c1949bed0828d7bd086e795f64
extra : histedit_source : 26a8dbfd9b082c9200fbe7b176f6593e406c98ce
2017-01-20 14:13:57 -05:00
Carsten "Tomcat" Book f040eda61d Merge mozilla-central to autoland 2017-01-23 11:42:26 +01:00
Carsten "Tomcat" Book e12cc94275 merge mozilla-inbound to mozilla-central a=merge 2017-01-23 11:15:58 +01:00
Gerald Squelart eb46a3cefe Bug 1332785 - Optimize MozPromiseHolder::Resolve and Reject - r=jwwang
Instead of lvalues, MozPromiseHolder::Resolve and Reject now take either
const& or && values of the expected types, to allow move semantics all the way
to the ResolveOrRejectValue object.

Note that we won't just take forwarding references of any type, as this could
lead to implicit conversions by bypassing the 'explicit' marker of the value
type constructors, like in bug 1331137.

MozReview-Commit-ID: K0jeY6WTXI1

--HG--
extra : rebase_source : 7ee0fd1edfdeadb239f48c8b5b46fd54af3ec5d2
2017-01-21 12:24:10 +11:00
JW Wang d7ec453920 Bug 1333280 - Make ThenValueBase::mCompletionPromise a MozPromise::Private. r=gerald
MozReview-Commit-ID: E046bQoQN1

--HG--
extra : rebase_source : e8563000ac0ab452d703dd6e67878e8605f7acc9
extra : intermediate-source : 514e9122a222fba252f47673fbe3cf842c322790
extra : source : 7f2bf86df00cc33737da5a2aaa8052cc60c5d8cf
2017-01-23 17:47:27 +08:00
Gerald Squelart 25992688b7 Bug 1332825 - Use move semantics in MozPromise::All() and AllPromiseHolder - r=jwwang
MozPromise::All sets up 'Then' lambdas on all sub-promises, each one taking the
resolve/reject object by value.
Since this value will not be used again in the lambda, it is safe to Move it,
and from there MozPromiseHolder::Resolve/Reject can also Move it again into the
holder storage, potentially saving two copies per Resolve/Reject.
Also, once all sub-promises have been resolved, the resolve-values can be
Move'd into the joining promise's Resolve function.

MozReview-Commit-ID: 5oxgNEnE5lq

--HG--
extra : rebase_source : f0542055beb1434e7db384722c5123d888ca00e7
2017-01-21 17:33:49 +11:00
Gerald Squelart 5c95a7141e Bug 1332779 - InvokeAsync's MethodCall constructor should take forwarding refs instead of lvalues - r=jwwang
The aArgs parameter pack was already Forward'ed inside the constructor, so
maybe the '&&' was forgotten?

MozReview-Commit-ID: 7yg07axhZnp

--HG--
extra : rebase_source : dccd3ea5f0f1b6cadfe6bbc86c8ad34cb7f2c99e
2017-01-21 12:04:54 +11:00
Nicholas Nethercote 12647a7223 Bug 1332577 (part 7) - Rename mozilla_get_pseudo_stack() as profiler_get_pseudo_stack(). r=mstange.
This makes it consistent with other profiler functions.

--HG--
extra : rebase_source : 1e52acdc448691b8859bb147a0c70b198b432fe2
2017-01-20 15:07:05 +11:00
Nathan Froyd 28f29930ef Bug 1324894 - use standard Monitor APIs rather than PR_Interrupt in BackgroundHangMonitor; r=darchons
Using PR_Interrupt here makes life difficult for other things, such as
moving away from NSPR synchronization primitives.
2017-01-20 16:38:12 -05:00
Bevis Tseng 849cf42acf Bug 1314833 - Part 1.1: Refator XPCOMThreadWrapper as EventTargetWrapper to allow EventTargets to be AbstractThreads. r=jwwang
MozReview-Commit-ID: FYjbKxcIc5o

--HG--
extra : rebase_source : 37d55a393552bf4cf5de1ad25c2039fde8517f3a
2016-11-29 13:01:18 +08:00
JW Wang 84387b56fe Bug 1328130. Part 3 - remove unused functions and fix comments. r=gerald
MozReview-Commit-ID: JURmHasmhOU

--HG--
extra : rebase_source : f2113e74e5abb0d57b2c70eb7b47b5d6c2829a3d
extra : intermediate-source : 88255f6011134a455b3bee888ebee256209f8e56
extra : source : 5371fe5d527981419953fae96d5cc80d6d15b413
2017-01-11 23:52:24 +08:00
JW Wang 4f5754ca55 Bug 1328130. Part 2 - remove MozPromiseRequestHolder::Begin(). r=gerald
MozReview-Commit-ID: JL27n0Era6E

--HG--
extra : rebase_source : e6de76db3fb35b110370497f4060ea1c3f527f23
extra : intermediate-source : 5bc39a45ef042b895a5abda59cc0796e8cfb4be3
extra : source : a7f7faded7b112e8a971ca96b091a9a22214a2bb
2017-01-11 16:33:29 +08:00
JW Wang bc040ae51e Bug 1328130. Part 1 - add ->Track(). r=gerald
MozReview-Commit-ID: FW7Urv6nyOS

--HG--
extra : rebase_source : 256576fa8b1e5bb6587e280512619f5d7e74a0cc
extra : intermediate-source : 82d0eea2d53edd8d538bc2d0fd0116046fb489b7
extra : source : 9f4301a98b836ec5fc4ca9e49e6a32f0232b71e5
2017-01-11 15:38:37 +08:00
Nicholas Nethercote 949658eb73 Bug 1329857 - Remove NS_METHOD and NS_CALLBACK. r=froydnj.
Bug 1295053 removed most uses of NS_METHOD and NS_CALLBACK, but one use was
unintentionally left behind (in the XPIDL parser) and another has since crept
in (in MediaDrmCDMProxy.h).

So this patch removes NS_METHOD and NS_CALLBACK. NS_METHOD_(nsresult) and
NS_CALLBACK_(nsresult, T) can still be used for the same purpose, but those
alternatives are less likely to be used unintentionally.

--HG--
extra : rebase_source : a50fc7b2a64a36d1ca9beda81bc0edb8f2ec1934
2017-01-10 14:08:43 +11:00
Gerald Squelart 5d4cad020a Bug 1320785 - Remove obsolete 'ns' from 'StorensRefPtrPassByPtr' - r=froydnj
MozReview-Commit-ID: FuhlsLVFdLi

--HG--
extra : rebase_source : c1bb8330c4ca0dbf15a68a4dbd0dfeff615163be
2017-01-09 07:55:19 +11:00
Gerald Squelart d551220947 Bug 1322964 - MozPromise.Then() taking only one resolve+reject method - r=jwwang
Then and ThenPromise can now be given only one member function, which takes a
`const MozPromise::ResolveOrRejectValue&`.

MozReview-Commit-ID: 5Zm0i27GHcA

--HG--
extra : rebase_source : 1ed068681616fa0aa5fa77f8dbf78ccbd727f363
2016-12-08 23:09:07 -10:00
Gerald Squelart b3e89a3af9 Bug 1322964 - MozPromise.Then() taking only one resolve+reject function - r=jwwang
Then and ThenPromise can now be given only one function object, which takes a
`const MozPromise::ResolveOrRejectValue&`.

MozReview-Commit-ID: BEtc3spK9Yh

--HG--
extra : rebase_source : 1b16ad15ebfcdfb653d8d98073adee0f8b27b46e
2017-01-03 16:15:14 +11:00
Gerald Squelart 9a05a0446d Bug 1322964 - MozPromise clean-up - r=jwwang
Removed 'virtual' from overrides, as per coding guidelines.
Fixed some incorrect indentations, and inconsistencies.

MozReview-Commit-ID: 4kNVgoDljG3

--HG--
extra : rebase_source : 7b25abacc7cfc1a6898963bc58120204c70bee45
2016-12-08 10:48:48 -10:00
Markus Stange 4bdc4ca0fb 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,
and except for the Shutdown Watchdog thread in nsTerminator.cpp and the
CacheIO thread. The Shutdown Watchdog thread stays alive past leak detection
during shutdown (by design), so we'd report leaks if we profiled it. The
CacheIO thread seems to stay alive past shutdown leak detection sometimes as
well.

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 : 56dd27282e7bd09a7e7dc7ca09ccfe3a0198e7af
2017-01-05 16:34:26 +01:00
Markus Stange f603a27cd8 Bug 1323100 - Stop double-registering the LazyIdleThread with the profiler. r=froydnj
MozReview-Commit-ID: 2vdcgCcdOYJ

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

--HG--
extra : rebase_source : 98ae8f4c48c396e35a77c81599b7b38790dea10b
2016-12-14 19:50:11 -05:00
Markus Stange 8924022f9d 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 : 24b15d56315ad49e72b3e9b76db7fb634f3bfe01
2016-12-20 15:10:20 +01:00
Markus Stange 7fd52a7829 Bug 1323100 - Use nsThreadPoolNaming::GetNextThreadName and NS_NewNamedThread in nsThreadPool. r=froydnj
MozReview-Commit-ID: 6IB5yvJtAQm

--HG--
extra : rebase_source : 3e3f22ed091dc881bed294bc64c611400021aaa8
2016-12-22 00:14:30 +01:00
Markus Stange 692210bd80 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 : c7e335dac2e0f02782f0eb229a7181c8d01317a2
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