Commit Graph

15643 Commits

Author SHA1 Message Date
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
Carsten "Tomcat" Book
3ad97e202a merge mozilla-inbound to mozilla-central a=merge 2017-01-12 10:14:43 +01:00
Eric Rahm
acbdb31633 Bug 1322735 - Remove OBSERVE_LATE_WRITES define. r=glandium
OBSERVE_LATE_WRITES is now always defined, we can just remove it.

MozReview-Commit-ID: El6RnzZnXBN

--HG--
extra : rebase_source : 95fe63562b88c61ee5915e28a3a8b89c985042db
2016-12-20 15:29:05 -08:00
Eric Rahm
87cfbc1b65 Bug 1322735 - Remove MOZ_STACKWALKING define. r=glandium
With frame pointer omission disabled we should always have usable stacks on Windows. This allows us to remove the MOZ_STACKWALKING define as it will always be enabled.

MozReview-Commit-ID: 54xs3Hf1r4P

--HG--
extra : rebase_source : dfaf13fb4c2185985f4f074c338ccf1fef8f3c94
2016-12-20 15:11:36 -08:00
John David Anglin
0beeba79e1 Bug 1325495 - xpcom: Save %r26 in arg0 stack slot on hppa with gcc. r=froydnj
In the 32-bit parisc runtime, the first four non floating-point
arguments are passed in registers (%r26, %r25, %r24 and %r23).
The remaining arguments are passed on the stack. There are four
reserved slots on the stack that the callee can use to save the
first four argument registers if the callee desires.

The StubN functions are special in that arguments are not explicitly
declared. %r26 is used for the "self" pointer. The call to SharedStub(n)
loads n into %r26 and clobbers the "self" pointer in %r26. The hppa
SharedStub implementation expects to find the "self" pointer on the
stack in the slot reserved for StubN. However, gcc doesn't copy any
arguments to the stack as no arguments are declared for StubN. Even
if it did, there's no guarantee that we could force gcc to save the
argument on the stack as that's more expensive than copying to a
free register. Thus, we need to copy %r26 to the stack slot manually.
2017-01-12 06:37:13 +09:00
John Paul Adrian Glaubitz
fde7f4bca8 Bug 1275204 - Use OpenBSD/sparc64 xptcall stubs on Linux/sparc64. r=froydnj 2017-01-11 16:04:34 +09: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
Nathan Froyd
ec503a0996 Bug 1329718 - remove nsISupportsVoid and associated machinery; r=erahm
Nothing uses it, it's virtually impossible to use from script, and there
are better ways to pass a |void*| around in C++.
2017-01-10 16:31:48 -05:00
Nathan Froyd
0ac6ef352e Bug 1298676 - part 2 - add an AutoIOInterposerDisable RAII class; r=aklotz
This will ensure the I/O Interposer is re-enabled after temporarily
disabling it.
2017-01-10 16:31:25 -05:00
Nathan Froyd
9d007ffa3e Bug 1298676 - part 1 - add IOInterposer::Enable(); r=aklotz
In some parts of the crash reporter, we need to disable I/O
interposition, then turn it back on.  We didn't have a function for
re-enabling the I/O interposer...until now.
2017-01-10 16:31:25 -05:00
Carsten "Tomcat" Book
89882dc5f4 merge mozilla-inbound to mozilla-central a=merge 2017-01-10 12:11:31 +01:00
Gerald Squelart
86723427e8 Bug 1329319 - gtest for issue with NewRunnableMethod on a non-refcounted base class method - r=froydnj
This test alone would fail to even build without the previous patch,
demonstrating the issue at hand, where the method-pointer from the base class
forces NewRunnableMethod to store a pointer to that base class in a RefPtr,
which is not possible when that base class is not ref-counted.

MozReview-Commit-ID: 9XaQ8SwMqVo

--HG--
extra : rebase_source : 3ba0e13fb76ef2c5969084334c2f11e3f445d11f
2017-01-09 11:09:59 +11:00
Gerald Squelart
1cc4e2c254 Bug 1329319 - Allow NewRunnableMethod to method of a non-refcounted base class - r=froydnj
This is done by storing the object pointer based on the exact pointee type,
instead of as hinted by the method-pointer, which could be a non-refcounted
base class.

The stored pointer type is statically-checked to be derived from (or the same
as) the class type from the method-pointer, to prevent misuses.

One change had to be done in TrackBuffersManager, as it was passing another
type and relying on implicit pointer conversions. A simple `.get()` to pass
the raw pointer type (to be stored in a RefPtr) fixed that one issue.

MozReview-Commit-ID: 4kH0XdjB5Rk

--HG--
extra : rebase_source : 40ad68820cfce469ecda272f430062f05dfcd09f
2017-01-10 10:49:08 +11:00
Kate McKinley
edae411c07 Bug 1313595 - Lower HSTS priming timeout r=mayhemer
MozReview-Commit-ID: 5wOqtYM1MfD

--HG--
extra : rebase_source : 78cb81a9223c80b93b2c574846111eb3bad91c03
2016-12-08 11:07:55 -10:00
Wes Kocher
b0df943433 Backed out 2 changesets (bug 1329319) because it will not build a=backout
Backed out changeset ae96a44e6a8f (bug 1329319)
Backed out changeset a75ecabf7129 (bug 1329319)

MozReview-Commit-ID: HQ3on7jlZXN
2017-01-09 15:46:42 -08:00
Gerald Squelart
53855b51b8 Bug 1329319 - gtest for issue with NewRunnableMethod on a non-refcounted base class method - r=froydnj
This test alone would fail to even build without the previous patch,
demonstrating the issue at hand, where the method-pointer from the base class
forces NewRunnableMethod to store a pointer to that base class in a RefPtr,
which is not possible when that base class is not ref-counted.

MozReview-Commit-ID: 9XaQ8SwMqVo

--HG--
extra : rebase_source : 5c752e1a16af8e8f976853396228abff2c76c43c
2017-01-09 11:09:59 +11:00
Gerald Squelart
189314d9cf Bug 1329319 - Allow NewRunnableMethod to method of a non-refcounted base class - r=froydnj
This is done by storing the object pointer based on the exact pointee type,
instead of as hinted by the method-pointer, which could be a non-refcounted
base class.

The stored pointer type is statically-checked to be derived from (or the same
as) the class type from the method-pointer, to prevent misuses.

One change had to be done in TrackBuffersManager, as it was passing another
type and relying on implicit pointer conversions. A simple `.get()` to pass
the raw pointer type (to be stored in a RefPtr) fixed that one issue.

MozReview-Commit-ID: 4kH0XdjB5Rk

--HG--
extra : rebase_source : 3eb7fa3cb1873f71b4d5e7118d2dc48f6fdf2874
2017-01-09 11:11:16 +11:00
Gerald Squelart
4a0d6ed936 Bug 1329513 - RemoveRawOrSmartPointerHelper to extract T from T*, RefPtr<T>, and nsCOMPtr<T> - r=froydnj
Implemented in the same style as RemovePointer and RemoveSmartPointer, for
consistency.
It could have been done by invoking the latter two, but I didn't want to add an
unnecessary extra layer of templates; the cost of the code duplication should
be negligible.

MozReview-Commit-ID: IH4lZkbRYGZ

--HG--
extra : rebase_source : b9b9a07a03fab768fc88b300c33627b3179a81da
2017-01-09 09:32:36 +11:00
Gerald Squelart
bf7e5a9179 Bug 1329512 - Make IsRefcountedSmartPointer and RemoveSmartPointer const&volatile-resistant - r=froydnj
MozReview-Commit-ID: HayfiFH0f9E

--HG--
extra : rebase_source : 702a3d45017eaa72032c06e53460105e572d036e
2017-01-09 08:28:49 +11:00
Gerald Squelart
28aa494db6 Bug 1329512 - Move *SmartPointer classes higher in the file - r=froydnj
Just a straight move, no code changes.

This will be needed in bug 1329319, as some new code higher in the file will
rely on RemoveSmartPointer. Since the next patch will pretty much rewrite
RemoveSmartPointer anyway, I thought I might as well make the big move
right now, to keep better history/blame of the upcoming changes.

MozReview-Commit-ID: A2lMUFHFWg4

--HG--
extra : rebase_source : 8470a0f7e2e6892e9d9c2e4eef1c44d8f73d2dad
2017-01-09 08:21:44 +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
Ryan VanderMeulen
1e6f972917 Merge inbound to m-c. a=merge 2017-01-07 11:22:47 -05: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
Xidorn Quan
bab46fee29 Bug 1326145 - Remove HAVE_CPP_AMBIGUITY_RESOLVING_USING. r=froydnj
MozReview-Commit-ID: FVDZjTJ4ZhA

--HG--
extra : rebase_source : 8767112e8969cd9a3c4c118a01bec6b174024a7f
2016-12-29 18:05:20 +11: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
28a12440e4 Bug 1323100 - Remove NS_SetThreadName which is now unused. r=froydnj
MozReview-Commit-ID: 7je5PhV1TsU

--HG--
extra : rebase_source : 5b183794fe1c4cf58f5b77dcb85ebcbf59e635fe
2016-12-20 14:43:11 +01:00
Markus Stange
657be232e0 Bug 1323100 - Make NS_NewNamedThread use nsThreadManager::NewNamedThread. r=froydnj
MozReview-Commit-ID: 7e6l1A89he9

--HG--
extra : rebase_source : 376ed44481256b26d89b0c638c67a778b3a096a8
2016-12-20 14:18:22 +01: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
45941e71bc Bug 1323100 - Remove nsThreadPoolNaming::SetThreadPoolName because it's now unused. r=froydnj
MozReview-Commit-ID: CYgF2NGD6pt

--HG--
extra : rebase_source : 47b9fe253507c75b0149aed70f84a7dbb144ecb9
extra : source : 1cd63b3998c4a4c2ef5c59eee24bd344b2d3bc6d
2016-12-19 16:16:50 +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
bd9d39ad80 Bug 1323100 - Create nsThreadPoolNaming::GetNextThreadName. r=froydnj
MozReview-Commit-ID: F0ZFFa5VkAW

--HG--
extra : rebase_source : b4ddac4a4d2f668c31beefb5cdfd737b01461c63
2016-12-22 00:38:41 +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
Markus Stange
8ad799fa1f Bug 1323100 - Create a version of NS_NewNamedThread that accepts an nsACString. r=froydnj
MozReview-Commit-ID: LhRjdzZeWCB

--HG--
extra : rebase_source : a81500209b326c62a91c79cbb709177e47f8863d
2016-12-22 00:05:51 +01:00
Cervantes Yu
c764d2cafa Bug 1328569 - Don't call UnmapViewOfFile() with a null address. r=froydnj
MozReview-Commit-ID: Ca5n8rSXQ4x

--HG--
extra : rebase_source : 511a8e7171c82dd2fb91357ee2da8feae6049800
2017-01-04 18:42:51 +08:00
Chris Peterson
20bc668a02 Bug 1280295 - Remove MOZ_HAVE_REF_QUALIFIERS. r=froydnj 2017-01-03 22:42:33 -08:00
Olli Pettay
d4f2be7cde Bug 1326507, rename Traverse to TraverseNative, r=mccr8
--HG--
extra : rebase_source : cb10292c2b9685855a6027a0377d10f168bbcbf6
2017-01-03 21:50:10 +02:00
Olli Pettay
0364dbc792 Bug 1326507, remove NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS, r=mccr8
--HG--
extra : rebase_source : 3ae1207308de120b7299b13ecaa95dd1612b3459
2017-01-03 21:47:55 +02:00
Olli Pettay
8aa472a93c Bug 1326507, trace after traverse, r=mccr8
--HG--
extra : rebase_source : 496a186306372567fb917c2d21488fe5a87c5f75
2017-01-03 21:46:49 +02:00
Xidorn Quan
0f9ff65fce Bug 1322843 part 1 - Add Reverse method to nsTArray. r=froydnj
MozReview-Commit-ID: 8VNEFzHn4dC

--HG--
extra : rebase_source : 4f1ef1bca974045168d6e33e2f079ae1f7b44be9
2016-12-30 18:23:26 +11:00
Wes Kocher
65b11f5302 Backed out 27 changesets (bug 1323100) for leaks in mochitest-e10s-2 a=backout
Backed out changeset 069375097856 (bug 1323100)
Backed out changeset 3e64cdf12bb6 (bug 1323100)
Backed out changeset ba3a6bce2ba5 (bug 1323100)
Backed out changeset 4fcf1517da8d (bug 1323100)
Backed out changeset 5daf48da151e (bug 1323100)
Backed out changeset 4e441df8f70a (bug 1323100)
Backed out changeset 8ba2c7c2d262 (bug 1323100)
Backed out changeset 7b54195f4383 (bug 1323100)
Backed out changeset 8c1328db2d0c (bug 1323100)
Backed out changeset cb8d544864b8 (bug 1323100)
Backed out changeset 00453dfb7172 (bug 1323100)
Backed out changeset 3a5216789011 (bug 1323100)
Backed out changeset 3a7ce80e8657 (bug 1323100)
Backed out changeset 4baecf3669b0 (bug 1323100)
Backed out changeset c5ca13e76e13 (bug 1323100)
Backed out changeset 40249b284066 (bug 1323100)
Backed out changeset 1fb590677ace (bug 1323100)
Backed out changeset 699f7f888ea3 (bug 1323100)
Backed out changeset a1c171f8f925 (bug 1323100)
Backed out changeset c04743218bc5 (bug 1323100)
Backed out changeset 831f4de80f62 (bug 1323100)
Backed out changeset 55b1ef1a16cf (bug 1323100)
Backed out changeset 6675e4fd50f0 (bug 1323100)
Backed out changeset e26f9d68b74c (bug 1323100)
Backed out changeset 061f8e2d0000 (bug 1323100)
Backed out changeset 6695c396ef15 (bug 1323100)
Backed out changeset 5dbb824fd978 (bug 1323100)
2016-12-30 16:09:03 -08:00
Markus Stange
65630c6c32 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 : 9deaace277db2f63c520325be27f6ed97aa65ac9
2016-12-30 20:27:59 +01:00
Markus Stange
e9c7fbcf49 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
85f0b506c0 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
83a9b3b26b Bug 1323100 - Remove NS_SetThreadName which is now unused. r=froydnj
MozReview-Commit-ID: 7je5PhV1TsU

--HG--
extra : rebase_source : 74a4339b3c7338e85caf9287b225d75a556b2938
2016-12-20 14:43:11 +01:00