Commit Graph

3736 Commits

Author SHA1 Message Date
Kris Maglione
b46bd8b6b0 Bug 1411817: Add do_AddRef overloads for nsCOMPtr<T> and nsRevocableEventPtr<T>. r=froydnj
MozReview-Commit-ID: gEU7whtNHc

--HG--
extra : rebase_source : 6763e6b31be8a3341f968eef057b756fbfe3cbbe
extra : amend_source : da6140fb0559d78b46e80e72e8b6768bf2364fb1
2017-10-25 19:46:50 -07:00
Sylvestre Ledru
d60d69e2cb Bug 1411001 - Remove the +x permissions on cpp & h files r=froydnj
MozReview-Commit-ID: DjDkL20wRg0

--HG--
extra : rebase_source : a343d83d1f4e97e4ba56d0f57fec93079df0b5ea
2017-10-23 20:59:55 +02:00
Philippe Normand
321ce5365c Bug 1410460 - Non-unified build fix for nsClassInfoImpl.cpp. r=cpearce
The nsACString type was used without prior declaration.
2017-10-20 16:46:40 +01:00
Nicholas Nethercote
78030c0e7b Bug 1409598 - Change nsIXPCScriptable::className and nsIClassInfo::{contractID,classDescription} from string to AUTF8String. r=froydnj.
This lets us replace moz_xstrdup() of string literals with AssignLiteral(),
among other improvements.

--HG--
extra : rebase_source : 9994d8ccb4f196cf63564b0dac2ae6c4370defb4
2017-10-18 13:17:26 +11:00
Stephen A Pohl
f810e234b5 Bug 1409468: Add a property appleModelId to telemetry's environment data to collect model IDs for Apple desktop devices. r=mstange,francois 2017-10-18 14:52:06 -04:00
Nicholas Nethercote
7f098bdb9c Bug 1409227 (part 4) - Replace nsMemory::Clone(id, sizeof(nsID)) with nsID::Clone(id). r=mccr8.
This change requires introducing nsID::Clone(). Because it's infallible, the
patch also removes some redundant failure-handling code. (nsMemory::Clone() is
also infallible, so this code was redundant even before this change.)

--HG--
extra : rebase_source : ef22757d3fa814320490bf7e19e822b8f0c4bdc3
2017-10-18 10:39:20 +11:00
Stephen A Pohl
a42ae45a57 Backout 7a6b39895ac2 and 7cb727e67531 to potentially be replaced with better solution. r=backout 2017-10-17 15:46:01 -04:00
Stephen A Pohl
a2294619d7 Bug 1409468: Add a property to telemetry's environment data to detect when a device has an Apple touchbar. r=mstange,francois 2017-10-17 15:33:22 -04:00
Sebastian Hengst
32f7c8fec3 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 1h3kZyrtqSt
2017-10-17 11:45:16 +02:00
Kris Maglione
f6ba082a01 Bug 1404198: Part 2b - Switch to NS_NewTimer* in xpcom. r=njn
MozReview-Commit-ID: BEtHEpOmT1E

--HG--
extra : rebase_source : dac8a182f1ad76df6715146e1da1279c02c0406f
2017-10-15 23:11:22 -07:00
Mike Hommey
404ef7af3e Bug 1407838 - Remove the remains of NS_Alloc/NS_Realloc/NS_Free. r=njn
Bug 1134923 removed the use of those functions in gecko, and left some
for the XPCOM standalone glue. The XPCOM standalone glue was severely
stripped down in bug 1306327, with the effect of removing the
implementation for those functions.

The remains in nsXPCOM.h are:
XPCOM_API(void*) NS_Alloc(size_t aSize);
XPCOM_API(void*) NS_Realloc(void* aPtr, size_t aSize);
XPCOM_API(void) NS_Free(void* aPtr);

With no implementation left, the first arm is never actually used, and
the second arm means every remaining use of those functions in the tree
is a macro expansion to one of moz_xmalloc, moz_xrealloc or free.

--HG--
extra : rebase_source : fd1669abc5a25d8edbd5c3a8522e22a5c3f558e2
2017-10-12 11:08:44 +09:00
Olli Pettay
3f643a72c3 Bug 1406922 - Make CycleCollectedJSContext to handle microtasks and make MutationObserver to use them, r=baku,bevis
--HG--
extra : rebase_source : 62ad4503ceaa6b1c438f4fb7fc0c5b65b3e77665
2017-10-11 15:31:38 +03:00
David Keeler
2a15781174 Bug 1369561 - Address misc. SnprintfLiteral correctness nits. r=jld, r=froydnj 2017-09-15 14:47:54 -07:00
Nicholas Nethercote
8a68e6fb83 Bug 1403868 (part 4) - Reduce tools/profiler/public/*.h to almost nothing in non-MOZ_GECKO_PROFILER builds. r=mstange.
Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.

This patch greatly simplifies how things are exposed. The starting point is:

- GeckoProfiler.h can be #included unconditionally;

- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.

In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.

The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.

Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
2017-10-04 09:11:18 +11:00
Olli Pettay
478b3b1343 Bug 1405821 - Move microtask handling to CycleCollectedJSContext, r=baku 2017-10-05 18:34:12 +03:00
Sebastian Hengst
9a0edde0b2 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: IRW0W7LuIM7
2017-10-03 11:43:52 +02:00
Nicholas Nethercote
a6fede36c2 Bug 1384814 - Remove critical address machinery from Mac implementation of MozStackWalk(). r=glandium.
It seemingly hasn't been needed since Mac OS 10.7. A diagnostic assertion that
has been in place for a while hasn't caught any uses of it.

--HG--
extra : rebase_source : 9834849eec9174267c7df8de7fd22840ffa36d8f
2017-10-03 13:53:14 +11:00
Kyle Machulis
25457d4887 Bug 1402499 - Add NS_IMPL_ISUPPORTS_CYCLE_COLLECTION_INHERITED_0 r=bz
Add macro for nsISupports inheriting classes that need cycle
collection and only inherit from one parent, with no interface table
needed. Takes care of map and addref/release calls.

MozReview-Commit-ID: LtTwYH0DeEz

--HG--
extra : rebase_source : d3650209ddd7e28cbf205ac84f152b9763c26bde
2017-09-28 23:21:09 -07:00
Andrew McCreight
e9940ac956 Bug 1277260, part 2 - Add and use method to annotate CC crashes with a class name. r=rweiss+418169,smaug
MozReview-Commit-ID: JweRzAC89NS

--HG--
extra : rebase_source : 6290588e1a4d1c8f59bd13bd975aa7c4f13903df
2017-09-15 13:00:17 -07:00
Andrew McCreight
48ee4c9a3f Bug 1277260, part 1 - Make PtrInfo into a class and mark it final. r=smaug
MozReview-Commit-ID: 3UJ89eCkBsd

--HG--
extra : rebase_source : 90cecf5db10f391e6d7eec2bb1d44810fe5fdd3f
2017-09-15 12:35:18 -07:00
Andrew McCreight
59c846ae8d Bug 1408459, part 2 - Remove unused declaration of NS_MeanAndStdDev(). r=erahm
Also, fix up the include guard in that file.

MozReview-Commit-ID: I3RGDb5P7Yn

--HG--
extra : rebase_source : 158f860cba8fcab31f9a895294f74327d964dcd1
2017-10-15 08:30:57 -07:00
Philippe Normand
ae8111551f Bug 1408951 - Fix non-unified build in ErrorNames.cpp. r=froydnj
There is no use mozilla namespace statement in this compilation unit, so the
call to GetErrorName() has to be prefixed with the mozilla namespace.

MozReview-Commit-ID: G3caP2v9PFF

--HG--
extra : rebase_source : 9aebe0711cf8ad81dc47592521a4f29b4f75caab
2017-10-16 11:03:21 +02:00
Chris Peterson
45aa2a8e8e Bug 870698 - Part 2: Replace Append("") with AppendLiteral(""). r=erahm
MozReview-Commit-ID: CrkIP4iHP1U

--HG--
extra : rebase_source : 5dc4e91a3f1860773c199f1abf3f66479218834a
extra : intermediate-source : ba51cc79847f2b43ba616f4a5d2bbc6958ca9f6d
extra : source : 1fda2fa990cc918c748ffa14fcc5dbe13fe3bdc3
2017-09-03 22:14:11 -07:00
Nicholas Nethercote
1aef116268 Bug 1401100 - Remove nsIMemoryReporterCallback. r=erahm.
nsIHandleReportCallback, typedef of nsIMemoryReporterCallback, has been the
preferred name for a long time and is used in most places. This patch removes
nsIMemoryReporterCallback.

--HG--
extra : rebase_source : c675076b4f98d93d96235dad890e31e0b0e6c277
2017-09-22 08:09:29 +10:00
Olli Pettay
eb98442ad3 Bug 1400520 - VisitEntries should decrease the length of mEntries the optimal amount, r=mccr8
--HG--
extra : rebase_source : 92ab173641f816df8ff81f4910e796051031a74d
2017-09-20 13:15:19 +03:00
Andrew McCreight
7a52e95946 Bug 1400374 - Fix compiler warning in FixGrayBits. r=smaug
The compiler complains because a postfix increment is done inside of an assert.

MozReview-Commit-ID: LSRsWMn9Tlj

--HG--
extra : rebase_source : 18539a430c3d84675c602699be9a5a62dd477fec
2017-09-15 13:01:15 -07:00
Sebastian Hengst
be553422dd merge mozilla-central to autoland. r=merge a=merge 2017-09-13 11:30:55 +02:00
Chris Pearce
8577c280e2 Bug 1399308 - Include nsThreadUtils.h in nsISupportsImpl.cpp. r=froydnj
We're calling GetCurrentVirtualThread() which is defined in nsThreadUtils.h, so
without including nsThreadUtils.h we'll get a compile error if unified builds
are disabled.

MozReview-Commit-ID: JWCigMqNJDi

--HG--
extra : rebase_source : bac48b8f91e6561dfb7afe2828c3652431347c40
2017-09-13 13:45:03 +12:00
James Cheng
0c675a3236 Bug 1393710 - Add thread name into NS_DebugBreak for better debugging. r=froydnj
MozReview-Commit-ID: AvqajMgtpuh

--HG--
extra : rebase_source : 13e99f103abc9e39ec4cff15f720cd09a9e6b2c5
2017-08-30 11:13:50 +08:00
Olli Pettay
11bf6502b9 Bug 1399160 - Make CCGraphBuilder::BuildGraph to check the budget more often, r=mccr8
--HG--
extra : rebase_source : 8c8593de5e261c9c53b532c0a8f8b61e4567bd3c
2017-09-12 18:59:57 +03:00
Olli Pettay
99010cec25 Bug 1398896 - Check the cycle collection budget more often, r=mccr8 2017-09-11 23:57:22 +03:00
Mike Hommey
ca43d9e078 Bug 1398033 - Free dirty pages on memory pressure. r=njn
Free dirty pages appear as "page-cache" in about:memory reports, but
when minimizing memory, and more generally, on memory pressure, they're
currently not force-free()ed on desktop, while they are on mobile.
There doesn't seem to be much reason not to do it on desktop as well,
and it should help reduce the noise in "explicit" allocations measurements
on CI, too.

--HG--
extra : rebase_source : e477532dda5e72eb8797b5bcdc9060ca46106275
2017-09-08 14:50:42 +09:00
Tom Ritter
6fd392825a Bug 1394013 Fix forbidden string constant assignment r=froydnj
ISO C++ forbids converting a string constant to 'wchar_t*' [-Werror=write-strings]

Either change it to a nullptr (which has same intent) or pass through a static


MozReview-Commit-ID: CSunOCyO9PN

--HG--
extra : rebase_source : bfdabc1f463eca75987c6561f7c3ea60acf0340f
2017-08-22 16:58:06 -05:00
Sebastian Hengst
8eb249afcc merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: JSRVc5yW6Kx
2017-09-07 12:39:12 +02:00
Bobby Holley
52ba410a6e Bug 1397052 - Don't update |result| after the acquire fence in nsThreadSafeRefCnt::operator--. r=froydnj
MozReview-Commit-ID: 1Yp4kFXA5gV
2017-09-06 21:55:12 -07:00
Wes Kocher
bdcf67c5c3 Backed out changeset 80e9cd4126b4 (bug 1397052) for adding a hazard to the build a=backout
MozReview-Commit-ID: I5ZLNHEfj1j

--HG--
extra : rebase_source : 2fca456cfec65b668247cd6236ff1d146857f7c7
2017-09-06 13:54:07 -07:00
Bobby Holley
9e2964bc63 Bug 1397052 - Don't update |result| after the acquire fence in nsThreadSafeRefCnt::operator--. r=froydnj
MozReview-Commit-ID: 1Yp4kFXA5gV
2017-09-06 11:42:08 -07:00
Kris Maglione
c86bc6b1ea Bug 1396676: Return already_AddRefed from cookie service GetSingleton() methods. r=jdm
These methods return an addrefed raw pointer, which makes them easy to use in
ways that cause leaks. If they're to continue returning an addrefed pointer,
they should explicitly return an already_AddRefed.

This also switches to StaticRefPtr with ClearOnShutdown for the cached
pointers for the sake of sanity.

MozReview-Commit-ID: D0lDpU8Hqug

--HG--
extra : rebase_source : 7b199070805fc0472eaf8409932517700ed23d49
2017-09-04 15:05:10 -07:00
Sebastian Hengst
b278f15c7f merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-09-06 00:00:04 +02:00
Sebastian Hengst
01c1a3c741 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 17ViEoPyjPa
2017-09-05 23:55:39 +02:00
Eugen Sawin
6cb533c8c1 Bug 1396065 - [1.3] Add nsILoadURIDelegate to handle load delegation to the window (GeckoView). r=smaug,snorp 2017-09-05 19:08:04 +02:00
Nathan Froyd
af69df0b21 Bug 1393885 - provide a faster path for do_GetWeakReference; r=erahm
NS_GetWeakReference, called from do_GetWeakReference, QI's its argument
to nsISupportsWeakReference to determine whether a weak reference can be
obtained.  If NS_GetWeakReference is already receiving a
nsISupportsWeakReference pointer, or something than can be converted to
one, then we can skip the QI for a small performance win.
2017-09-05 15:39:40 -04:00
Andrew McCreight
e81ef49017 Bug 1390660, part 3 - Make QIing to a few CCed classes faster. r=peterv
QIing to CC interfaces shows up in Speedometer profiles for a few
classes. Presumably there are many of these objects being created and
destroyed. By making these classes check first for the CC interfaces
directly, rather than going up the inheritance chain, this overhead
should be reduced.

MozReview-Commit-ID: I3sf3my8oua

--HG--
extra : rebase_source : f08884a944d5b4ed1eb1da1070de64f21fc9868a
2017-08-16 14:31:40 -07:00
Andrew McCreight
64b725c5cd Bug 1390660, part 2 - Define and use a new macro for CC isupports. r=peterv
The main purpose of defining this is to make conversion of places that
use the non-CC variant easier. There are many more places that could
be converted to use these new macros, if somebody felt motivated.

MozReview-Commit-ID: HspjcN76fjg

--HG--
extra : rebase_source : bf3baa586f90f0afbe9229c32d38cb34cc909b9b
2017-08-16 13:14:11 -07:00
Sebastian Hengst
4d0bad92dd merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: Gsw48p934sI
2017-09-02 10:54:44 +02:00
Wes Kocher
8b84853ed6 Merge m-c to autoland, a=merge
MozReview-Commit-ID: GcHZLNPPNnI
2017-09-01 16:34:14 -07:00
Nicholas Nethercote
78adeaf317 Bug 1393384 (attempt 2) - Take advantage of new support for measuring heap blocks via interior pointers. r=erahm.
We now have jemalloc_ptr_info() and moz_malloc_enclosing_size_of(), which can
be used to measure heap blocks via interior pointers. This patch does the
following.

- Adds MOZ_DEFINE_MALLOC_ENCLOSING_SIZE_OF, for defining
  measure-via-interior-pointer functions.

- Uses these functions to replace some horrid pointer arithmetic in functions
  measuring Rust types.

--HG--
extra : rebase_source : 5128408256c128222025153ae3e0f924b2499a2a
2017-09-01 17:25:52 +10:00
Kris Maglione
6bad4f8ef7 Bug 1366511: Part 3 - Add mozilla::ToResult() to convert other result types to equivalent Result. r=nbp,ehsan
Also adds a mozilla/ResultExtensions.h header to define the appropriate
conversion functions for nsresult and PRResult. This is in a separate header
since those types are not available in Spidermonkey, and this is the pattern
other *Extensions.h headers follow.

Also removes equivalent NS_TRY macros and WrapNSResult inlines that served the
same purpose in existing code, and are no longer necessary.

MozReview-Commit-ID: A85PCAeyWhx

--HG--
extra : rebase_source : a5988ff770888f901dd0798e7717bcf6254460cd
2017-08-29 21:28:31 -07:00
Kris Maglione
c9899cb3fa Bug 1366511: Part 2 - Allow autoconverting Err(nsresult) to nsresult. r=ehsan,nbp
This allows MOZ_TRY and MOZ_TRY_VAR to be transparently used in XPCOM methods
when compatible Result types are used.

Also removes a compatibility macro in SimpleChannel.cpp, and an identical
specialization in AddonManagerStartup, which are no longer necessary after
this change.

MozReview-Commit-ID: 94iNrPDJEnN

--HG--
extra : rebase_source : 24ad4a54cbd170eb04ded21794530e56b1dfbd82
2017-08-29 21:28:22 -07:00
Kris Maglione
92dcd409a3 Bug 1366511: Part 1 - Allow packing Result<T, nsresult> values into a single word. r=ehsan,nbp
When used as an error value, nsresult should never be NS_OK, which means that
we should be able to safely pack simple nsresult Result values into a single
word.

MozReview-Commit-ID: GJvnyTPjynk

--HG--
extra : rebase_source : ab5a64b545dfbfe9bbef167f8b63ecbf00b16e07
2017-08-31 16:01:43 -07:00