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

3853 Коммитов

Автор SHA1 Сообщение Дата
Gabriele Svelto 13364cc36b Bug 1402519 - Remove MOZ_CRASHREPORTER directives from xpcom; r=froydnj
MozReview-Commit-ID: HS3M0DJQ3qc

--HG--
extra : rebase_source : bb09e9e3b01d39e91a1377117fa127a09c29cccd
2017-10-10 11:59:39 +02:00
Chris Pearce 5f0719ad1d Bug 1416597 - Include Printf.h in Logging.cpp. r=froydnj
MozReview-Commit-ID: 5ZMMkvaOKtO

--HG--
extra : rebase_source : 6b50d30388b9e9e5ba0b2cec6117d6a9f91920ef
2017-11-13 10:07:39 +13:00
Chris Peterson edb82b8131 Bug 1416164 - Replace NS_POSTCONDITION with MOZ_ASSERT. r=froydnj
MozReview-Commit-ID: 9K3Ksf36uxr

--HG--
extra : rebase_source : c5574794ae0e0ce5e756bdbcc2601896d6916002
2017-11-04 22:48:48 -07:00
Chris Peterson feb58d9d37 Bug 1416164 - Replace NS_NOTYETIMPLEMENTED with MOZ_ASSERT_UNREACHABLE. r=froydnj
MozReview-Commit-ID: B5TZB3v52wY

--HG--
extra : rebase_source : 56bef4eead24901191f190e31d2841710097cdcf
2017-10-25 00:37:02 -07:00
Chris Peterson 0e8425b401 Bug 1416164 - Replace NS_ABORT with MOZ_ASSERT_UNREACHABLE. r=froydnj
MozReview-Commit-ID: DRdYlOYqZpN

--HG--
extra : rebase_source : b20fb24abf0f2ce648c12a827532c0dbeefb6c63
2017-10-24 23:52:56 -07:00
Nicholas Nethercote 8f7cdde0dc Bug 1414150 - Remove the "consoleservice.{logging,enabled}" prefs. r=jchen.
It seems fine to specify these as code constants.

--HG--
extra : rebase_source : d507d3351bfba06cbf69e140da9a6b8152c9e931
2017-11-08 07:54:13 +11:00
Nicholas Nethercote 1455a7fc09 Bug 1414150 - Remove the "memory.low_*" prefs. r=erahm,dmajor.
There's no good reason why these should't just be constants. The patch also
appends "MiB" to some of the C++ values to make their meaning clearer.

This patch fixes one outright bug, and one inconsistency.

The bug is due to a prefname mismatch:

- ContentPrefs.cpp and AvailableMemoryTracker.cpp use
  "memory.low_virtual_mem_threshold_mb".

- all.js uses "memory.low_virtual_memory_threshold_mb".

Which means that "memory.low_virtual_memory_threshold_mb" showed up in
about:config, but if you changed it nothing would happen because the callback
listened for changes to to "memory.low_virtual_mem_threshold_mb"!

Now for the inconsistency. The above means we actually use a value of 256 for
the virtual memory threshold, even though all.js says 128. But we *do* use a
value of 128 for the commit space threshold, because that's what all.js says
and that prefname is used correctly everywhere. The patch changes the commit
space threshold to 256 for consistency with the virtual memory threshold.

What a mess!

--HG--
extra : rebase_source : d3842c732efa9ab0e90eeb6a4f341aeb289589ed
2017-11-08 07:49:46 +11:00
Nicholas Nethercote 2513a08f85 Bug 1414150 - Remove the "memory.free_dirty_pages" pref. r=glandium.
This was originally added for b2g, where the pref had a different value.
Bug 1398033 enabled it everywhere.

--HG--
extra : rebase_source : c8bb03190cd00d25e6c2ec62a99ed8e911e08197
2017-11-07 19:34:18 +11:00
Chris Peterson 84d577e4a4 Bug 1412048 - Remove NS_RUNTIMEABORT. r=froydnj
Use MOZ_CRASH, MOZ_CRASH_UNSAFE_OOL, or MOZ_CRASH_UNSAFE_PRINTF instead.

MozReview-Commit-ID: 1kCCHMlgbGP

--HG--
extra : rebase_source : 2f07ced16bccebf30cd3b2b5fea35e9868d32dad
extra : source : 0bf2c8425b828e71de55dd175fd0dad635b4e67d
2017-10-24 23:41:15 -07:00
Chia-Hung Duan 360fc92c15 Bug 1376891 - Support idle runnable for nursery collection. r=jonco, r=smaug 2017-10-30 18:07:42 +08:00
Csoregi Natalia b0832d7215 Backed out changeset fbf84e79c44c (bug 1376891) for bustage CycleCollectedJSRuntime.h:254 r=backout on a CLOSED TREE 2017-11-01 15:32:09 +02:00
Chia-Hung Duan 778619638a Bug 1376891 - Support idle runnable for nursery collection. r=jonco, r=smaug 2017-10-30 18:07:42 +08:00
Andrew Osmond 920629550f Bug 1404422 - Part 1c. Refactor how an imgRequestProxy is added/removed from its load group. r=tnikkel
There should be no functional change here, but we rely upon the new
structure in the next patch in the series. This separates out the
notions of removing a request from the load group (which is always
final, and must be executed outside of synchronous calls from the owner
of the imgRequestProxy) and wanting to readd a request to the load group
as a background request (for multipart images).

The most important addition is mForceDispatchLoadGroup which if true
when imgRequestProxy::RemoveFromLoadGroup is called, will dispatch the
removal from the load group instead of executing it inline. This ensures
safety for any callers (e.g. to CancelAndForgetObserver) as above.
2017-11-01 06:59:10 -04:00
Nicholas Nethercote 8bd05bfcc0 Bug 1412949 - Remove SystemMemoryReporter. r=erahm.
This was created for B2G and isn't really useful otherwise. It only works on
Linux, and it's behind the memory.system_memory_reporter pref, which is false
by default.

The patch also removes LinuxUtils.{h,cpp}, which is no longer used.

--HG--
extra : rebase_source : b97a018be11a79f83855a73b88020bfa86e60f78
2017-10-31 12:49:41 +11:00
Chris Peterson 73037a0f6a Bug 1412048 - Replace NS_RUNTIMEABORT(var) with MOZ_CRASH_UNSAFE_OOL(var). r=froydnj data-review=francois
And remove unreachable code after MOZ_CRASH_UNSAFE_OOL().

MOZ_CRASH_UNSAFE_OOL causes data collection because crash strings are annotated to crash-stats and are publicly visible. Firefox data stewards must do data review on usages of this macro. However, all the crash strings this patch collects with MOZ_CRASH_UNSAFE_OOL are already collected with NS_RUNTIMEABORT.

MozReview-Commit-ID: IHmJfuxXSqw

--HG--
extra : rebase_source : 031f30934b58a7b87f960e57179641d44aefe5c5
extra : source : fe9f638a56a53c8721eecc4273dcc074c988546e
2017-10-24 23:38:38 -07:00
Bevis Tseng 6115852e16 Bug 1409985 - Don't fire DOMEvent during StableState. r=smaug 2017-10-19 18:20:31 +08:00
Marco Castelluccio ecf5ddbf21 Bug 1412981 - Remove nsIStatusReporter as it is unused. r=froydnj
--HG--
extra : rebase_source : 9b917d55005e90abe26a61a58368ff82bf103c3f
2017-10-30 18:49:05 +00:00
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
Sebastian Hengst 603dd8be37 Backed out changeset 5b30f38210e1 (bug 1393384) 2017-08-31 13:51:37 +02:00
Nicholas Nethercote 509fa0867c Bug 1393384 - 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 : 81940a72a4b6355b1e99cede4db40db68d4afad3
2017-08-24 19:40:32 +10:00
Eric Rahm 197f29015a Bug 1376038 - Part 1: Use a cached ghost window value for the distinguished amount. r=mccr8
We already periodically calculate the ghost window amount after cycle
collection, this just uses a cached value of that for the distinguished amount.
This avoids the overhead of a recalculating the value when reporting telemetry.

--HG--
extra : histedit_source : 4ba3ee62fd2871a87970faca8a70b2284e83981d%2C9246ac39cea50c3bb0d1693d8e831c3b3ad33ad9
2017-07-11 13:58:20 -07:00
Andrew McCreight 78807d8776 Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv
Replace it with NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION, because it
has been the same for a while.

MozReview-Commit-ID: 5agRGFyUry1

--HG--
extra : rebase_source : 5388c56b2f6905c6ef969150f0c5b77bf247624d
2017-08-29 16:02:48 -07:00
Henri Sivonen 3c8567b60d Bug 1354989 - Avoid pivoting via UTF-16 when loading CSS in the Stylo mode. r=jdm,SimonSapin
MozReview-Commit-ID: Llt29dvB4Io

--HG--
extra : rebase_source : 3ae51dc8beff3fb19e9318a6c7c30c9ab08a5b57
2017-08-29 16:01:42 +03:00
Kris Maglione 45ed679d5f Bug 1363482: Part 4 - Preload INI files off-thread during startup. r=erahm
MozReview-Commit-ID: CgQLEvjUDOJ

--HG--
extra : rebase_source : 5b10080bafa488082ae4e9537b34253abf979f98
2017-08-31 17:02:10 -07:00
Eric Rahm ffd7c92664 Bug 1393058 - Disable nsMemoryInfo dumper RT signal handling on Android. r=mccr8
It appears some Android devices like to send spurious RT signals to our process
which we interpret to mean a gc/cc log is being requested. This causes large
files to pile up in the device storage. We can just disable this feature for
Android as it would be pretty hard for a user to actually use (they can just
go to about:memory). Automation can still enable the FIFO queue if we ever
want to start dumping memory reports on device again.

--HG--
extra : rebase_source : 80cb04473677db7f3edc9377b2fca4c72eb63b71
2017-09-01 15:27:44 -07:00
Nathan Froyd bd0f2fccab Bug 1393592 - manually de-virtualize nsIWeakReference::QueryReferent; r=ehsan
The virtual call to this method shows up in profiles, and therefore
would be nice to avoid if possible.  We can do that by making
nsIWeakReference hold the weak reference itself and therefore
implementing a non-virtual QueryReferent method.
2017-08-25 13:48:29 -04:00
Nathan Froyd c5fa35746e Bug 1390568 - manually de-virtualize do_QueryReferent; r=ehsan
nsQueryReferent is defined as an nsCOMPtr_helper, which implies that
calling its operator() method requires a virtual call.  While
nsQueryReferent is marked `final`, compiler inlining decisions make it
impossible to de-virtualize the call to operator().  However, we have
many other classes returned by do_* functions that nsCOMPtr handles
directly, requiring no extra virtual calls, and we can give
nsQueryReferent the same treatment.
2017-08-24 20:04:31 -04:00
Tristan Bourvon ba0998ae31 Bug 1380423 - Add static-analysis to enforce strict rules on functions which can run scripts. r=mystor
MozReview-Commit-ID: GGSyq0z5msB
2017-08-08 19:48:53 +03:00
Eric Rahm a33f11e0f5 Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj
We should not be declaring forward declarations for nsString classes directly,
instead we should use nsStringFwd.h. This will make changing the underlying
types easier.

--HG--
extra : rebase_source : b2c7554e8632f078167ff2f609392e63a136c299
2017-08-16 16:48:52 -07:00
Wes Kocher 655a23a70a Merge m-c to autoland, a=merge
MozReview-Commit-ID: CxIXNml1xZW
2017-08-22 17:24:16 -07:00
Andrew McCreight d3b91aeeda Bug 1390692 - Remove the unnecessary second QI entry for nsCycleCollectionISupports. r=peterv
MozReview-Commit-ID: 4o2QZhdomg2

--HG--
extra : rebase_source : a18e94cf45003fa25455d1d69c04e8ccc3e0fd74
2017-08-22 12:51:10 -07:00
Olli Pettay 6e1dc494d2 Bug 1391423, add a nursery for purple buffer to allow faster addref/release on the main thread, r=mccr8
--HG--
extra : rebase_source : 4dcb8af2d3f2518ab0fd00b65fbf1d0096d8e810
2017-08-22 00:01:47 +03:00
Bevis Tseng eb2adceca7 Bug 1373046 - Use idle dispatch for IncrementalFinalizeRunnable. r=billm
MozReview-Commit-ID: 2xVjTSHTcFb
2017-08-15 17:30:24 +08:00
Nathan Froyd 3f20e1f6cd Bug 1386918 - out-of-line LazyLogModule::operator LogModule*(); r=erahm
This function takes up quite a bit of space, and there's no need to for
the log getter to be inlined everywhere.  Moving this to out-of-line
code saves ~200K on x86-64 Linux.
2017-08-18 12:32:05 -04:00
Ehsan Akhgari e743dbc92a Bug 1391306 - Reduce the hashtable lookups in CycleCollectedJSRuntime::Add/RemoveJSHolder by one each; r=mccr8 2017-08-17 18:25:36 -04:00
Nathan Froyd 3ce3d56401 Bug 1391314 - reduce logging codesize by commoning LogModule conversions; r=erahm
The current definition of MOZ_LOG requires calling
LazyLogModule::operator() multiple times, which is unnecessary.  We can
avoid that with a bit of clever macro definition and a lengthy
explanation.
2017-08-17 17:18:12 -04:00
Sebastian Hengst 9d5f4bffd9 Backed out changeset 9c364b2c35d3 (bug 1391306) for failing selftest.py during build. r=backout 2017-08-17 20:27:37 +02:00
Ehsan Akhgari cfd7f1c957 Bug 1391306 - Reduce the hashtable lookups in CycleCollectedJSRuntime::Add/RemoveJSHolder by one each; r=mccr8 2017-08-17 13:46:06 -04:00
Luke Wagner 9b038447f4 Bug 1347644 - Simplify/rename JS::AsyncTask (r=till,bkelly,mccr8)
MozReview-Commit-ID: BahNzYPv0AO
2017-08-16 14:38:53 -05:00
Wes Kocher 7a772df5bf Merge m-c to inbound, a=merge
MozReview-Commit-ID: BYZASFIrXxp
2017-08-14 17:58:17 -07:00
Masatoshi Kimura e698863015 Bug 1389702 - Remove MOZ_DEPRECATED. r=froydnj
MozReview-Commit-ID: 4pOKIFXc4wa

--HG--
extra : rebase_source : 57d503f2253d87fbd422e28c34f49e48115be478
2017-08-13 21:00:10 +09:00
Ehsan Akhgari 047b7f969e Bug 1384821 - Optimize inherited cycle-collectible QueryInterface() implementations for nsCycleCollectionISupports; r=peterv 2017-08-14 12:42:01 -04:00
Ryan VanderMeulen cc7a4548cc Backed out 3 changesets (bug 1376038) to see if it affects the ghost window numbers in bug 1388111.
Backed out changeset b89df6ea668a (bug 1376038)
Backed out changeset ae6472c17577 (bug 1376038)
Backed out changeset 8c99b4e8e6c1 (bug 1376038)
2017-08-07 21:11:42 -04:00
Henry Chang af3b11c151 Bug 1375277 - New safebrowsing threat type "POTENTIALLY_HARMFUL_APPLICATION" introduced by v4. r=francois
As our threattype-listname conversion design, "goog-harmful-proto" is allocated
for this new threat type. This threat type is mainly for mobile.

MozReview-Commit-ID: G9GbgmHHHfp

--HG--
extra : rebase_source : 0681fcd9322b94451a86eafe57bf1ccc4b89db30
extra : intermediate-source : 28b0502d9add81beeae58a2c33f9fd5839d4d544
extra : source : 646f02f15131aa98ad37015b0a641304a3271796
2017-07-27 15:37:57 +08:00
Masatoshi Kimura 49e04cc095 Bug 1149830 - Remove nsIStackFrame::language. r=bz,mccr8
MozReview-Commit-ID: LxTiLFzNJ9Y

--HG--
extra : rebase_source : 98ca14aa59a62309dcbe0c9ed3e961c730ff9db9
2017-08-03 15:50:07 +09:00
Nicholas Nethercote 08e54b7c13 Bug 1384819 (part 1) - Split MozStackWalk(). r=glandium.
MozStackWalk() is different on Windows to the other platforms. It has two extra
arguments, which can be used to walk the stack of a different thread.

This patch makes those differences clearer. Instead of having a single function
and forbidding those two arguments on non-Windows, it removes those arguments
from MozStackWalk, and splits off MozStackWalkThread() which retains them. This
also allows those arguments to have more appropriate types (HANDLE instead of
uintptr_t; CONTEXT* instead of than void*) and names (aContext instead of
aPlatformData).

The patch also removes unnecessary reinterpret_casts for the aClosure argument
at a couple of MozStackWalk() callsites.

--HG--
extra : rebase_source : 111ab7d6426d7be921facc2264f6db86c501d127
2017-07-27 12:46:47 +10:00
Olli Pettay aeabc0c261 Bug 1392564 - Use nursery purple buffer for nsRange and RangeItem, r=mccr8
--HG--
extra : rebase_source : 650d101bb0cec4ed21b35945ae1185aca577b120
2017-08-22 17:47:00 +03:00
Yoshi Huang d8fec521e0 Bug 1371545 - Remove NS_ERROR_IMAGE_SRC_CHANGED and NS_ERROR_IMAGE_BLOCKED. r=smaug 2017-08-22 19:02:09 +08:00
Andrew McCreight 5eecb0df0a Bug 1385474 - Avoid QIing for NoteXPCOMRoot. r=smaug
This callback is only used in very limited ways, so just require that
the caller pass in the canonical supports pointer, plus the
participant. This probably won't affect performance much.

MozReview-Commit-ID: CsThzFsKyYx

--HG--
extra : rebase_source : 9595b1d75fc45bc5ee6d932a840e98b5d760cb78
2017-07-28 16:11:03 -07:00
Wes Kocher 179a07b6ba Merge inbound to central, a=merge
MozReview-Commit-ID: Dg4fbH8wbXt
2017-07-31 17:43:38 -07:00
Sebastian Hengst 66a3f61e13 Backed out changeset 58cfaca894a9 (bug 1384821) for bustage at nsCycleCollectionParticipant.h:312: 'const nsIID' has no member named 'LowWordEquals'. r=backout on a CLOSED TREE 2017-07-31 19:04:32 +02:00
Ehsan Akhgari f500c91790 Bug 1384821 - Optimize inherited cycle-collectible QueryInterface() implementations for nsCycleCollectionISupports; r=peterv 2017-07-31 12:46:46 -04:00
Andrew McCreight 23896c49cb Bug 1385459 - Don't use QI to canonicalize nsISupports pointers in the purple buffer. r=smaug
The nsISupports objects added to the purple buffer are already
canonical, so we can avoid some overhead by not QIing them to
nsCycleCollectionISupports. This QIing overhead shows up in profiles.

MozReview-Commit-ID: CQN6wwc7MZm

--HG--
extra : rebase_source : 27e6b70f83b42b5db7af3d1e7d62e36d6f4013a0
2017-07-28 15:24:17 -07:00
Nicholas Nethercote 581214bd8b Bug 1384835 (part 1, attempt 2) - Use nsA[C]String references instead of pointers for outparams of Get*String() pref functions. r=froydnj.
--HG--
extra : rebase_source : fe566945a55c281d8290634a5b55bed19415c839
2017-07-31 10:52:51 +10:00
Bill McCloskey 7e43e5439d Bug 1384395 - Use nsAutoOwningThread for mfbt/WeakPtr.h thread assertions (r=froydnj)
MozReview-Commit-ID: DF4DiffL4Qq
2017-07-28 13:11:44 -07:00
Nicholas Nethercote 49eb219ff5 Bug 1383982 (attempt 2) - Introduce a general mechanism for measuring memory usage of graph-like structures. r=erahm.
--HG--
extra : rebase_source : 7075f9570a4262158351ce9ac3ca8360ea4d5394
2017-07-28 20:10:04 +10:00
Sebastian Hengst d7527a414d Backed out changeset 07b534f44740 (bug 1384835) for failing xpcshell's security/manager/ssl/tests/unit/test_cert_sha1.js checkCertErrorGenericAtTime on Linux x64 debug. r=backout 2017-07-28 10:30:29 +02:00
Sebastian Hengst 9077ac8886 Backed out changeset a57d8f30d1bf (bug 1383982) for build bustage at nsGlobalWindow.cpp:13826: 'class nsWindowSizes' has no member named 'mMallocSizeOf'. r=backout 2017-07-28 09:50:48 +02:00
Nicholas Nethercote 5c3abe8aab Bug 1383982 - Introduce a general mechanism for measuring memory usage of graph-like structures. r=erahm.
All the SizeOf{In,Ex}cludingThis() functions take a MallocSizeOf function
which measures memory blocks. This patch introduces a new type, SizeOfState,
which includes a MallocSizeOf function *and* a table of already-measured
pointers, called SeenPtrs. This gives us a general mechanism to measure
graph-like data structures, by recording which nodes have already been
measured. (This approach is used in a number of existing reporters, but not in
a uniform fashion.)

The patch also converts the window memory reporting to use SizeOfState in a lot
of places, all the way through to the measurement of Elements. This is a
precursor for bug 1383977 which will measure Stylo elements, which involve
Arcs.

The patch also converts the existing mAlreadyMeasuredOrphanTrees table in the
OrphanReporter to use the new mechanism.

--HG--
extra : rebase_source : 2c23285f8b6c3b667560a9d14014efc4633aed51
2017-07-28 15:03:44 +10:00
Nicholas Nethercote f314cbcbe5 Bug 1384835 (part 1) - Use nsA[C]String references instead of pointers for outparams of Get*String() pref functions. r=froydnj.
This is basically a cosmetic change; references are the normal way to do string
outparams.

--HG--
extra : rebase_source : ffc5945f269bdcd3d4116755b56713e87a44b6cd
2017-07-25 19:12:56 +10:00
Bevis Tseng 95b18d794e Bug 1382172 - Name nsITimerCallback instances in native implementation. r=billm
--HG--
extra : rebase_source : 84de1abfcc30a6964144c2e6718a508c71027b65
2017-07-27 02:18:20 +08:00
Bevis Tseng a7505864a8 Bug 1378930 - Part 2: Remove the aName parameter from SchedulerGroup/DocGroup/DispatcherTrait. r=billm
--HG--
extra : rebase_source : 11319e568a51d16754a6a9990f76c35c86c2bda7
2017-07-26 16:13:35 +08:00
Andrea Marchesini 45af660d99 Bug 1376089 - IncrementalFinalizeRunnable must be a CancelableStream in order to be dispatch to workers, r=mccr8 2017-07-21 17:30:55 +02:00
Paul Adenot bd42c1f578 Bug 1376089 - Backed out changeset 96941e476121 for bustage.
MozReview-Commit-ID: FxavjFmStuL
2017-07-21 17:56:08 +02:00
Andrea Marchesini 4116a6ad94 Bug 1376089 - IncrementalFinalizeRunnable must be a CancelableStream in order to be dispatch to workers, r=mccr8 2017-07-21 17:30:55 +02:00
Nicholas Nethercote e99e711d3f Bug 1382099 - Remove MOZ_WIDGET_GONK from xpcom/. r=erahm.
As well as the straightforward things, this lets us remove ReadSysFile and
WriteSysFile, which in turn lets us remove TestFileUtils.cpp.

--HG--
extra : rebase_source : fc90c05352e654ffc41009d8504a9c54f394fc3f
2017-07-21 10:45:39 +10:00
Andrea Marchesini 50f9ea47a3 Bug 1350958 - Finish labeling ProxyReleaseEvent, r=billm 2017-07-14 08:49:22 +02:00
Jon Coppeard 39c119de26 Bug 1379957 - Only fire the debugger's onGarbageCollection hook when necessary to avoid extra worker GCs r=fitzgen 2017-07-12 18:31:56 +01:00
Eric Rahm 0dc3c70d24 Bug 1376038 - Part 1: Use a cached ghost window value for the distinguished amount. r=mccr8
We already periodically calculate the ghost window amount after cycle
collection, this just uses a cached value of that for the distinguished amount.
This avoids the overhead of a recalculating the value when reporting telemetry.
2017-07-11 13:58:20 -07:00
Jon Coppeard 3460a3c5dd Bug 1378717 - Store JS holders in a vector for faster iteration r=smaug 2017-07-11 16:52:01 +01:00
Sylvestre Ledru 4e9cf83ee8 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG

--HG--
extra : rebase_source : 7235b3802f25bab29a8c6ba40a181a722f3df0ce
2017-07-06 14:00:35 +02:00
Nicholas Nethercote c67ffb04c6 Bug 1352575 (part 5) - Remove PluginModuleParent::mIsStartingAsync. r=jimm.
This allows a bunch of other things to be removed too, including
PluginModuleParent::mSurrogateInstances,
PluginModuleChromeParent::sInstantiated, and NS_PLUGIN_INIT_PENDING.

The patch also removes the AsyncPluginInit crash annotation.

--HG--
extra : rebase_source : cadb1d215fd93051c9032ea0a1fb6f1d2fb80c6d
2017-04-18 16:56:43 +10:00
Cervantes Yu 3ae5186923 Bug 1375281 - Part 2: Implementation of nsMemoryReporterManager::GetHeapAllocatedAsync(). r=erahm,froydnj
Implement nsMemoryReporterManager::GetHeapAllocatedAsync() by dispatching
nsMemoryReporterManager::GetHeapAllocated() to a thread pool and dispatching
the result back to the main thread to run the callback with the requested
attribute.

MozReview-Commit-ID: 9jj1UYqu5KD

--HG--
extra : rebase_source : a3620c6313b3253c41adff8d67c77a347240891b
extra : amend_source : 1732a5e4390fadbc597b6a61dc7d51e892f8441e
extra : histedit_source : b892d2046a07fe00368e8f1976394dc1f4c2f496
2017-07-06 11:19:40 +08:00
Cervantes Yu 9b7ab955c8 Bug 1375281 - Part 1: Add getHeapAllocatedAsync() to nsIMemoryReporter.idl. r=erahm
nsIMemoryReporter::getHeapAllocatedAsync() is added to get attribute
'heapAllocated' asynchronously.

MozReview-Commit-ID: 96KyZpCeTG1

--HG--
extra : rebase_source : 5c27b26788a3a96821ce054911dda8ce2932007d
extra : amend_source : fcb923dac2dfa9d7aa5bf520d38c5bb11f0d60e9
extra : histedit_source : 83ae65c153f7cef6c6529296838a9d9aa367219e
2017-07-06 11:19:32 +08:00
David Anderson 6cf29dbc0e Refactor PaintThread for async painting. (bug 1377060 part 1, r=mchang)
--HG--
extra : rebase_source : 4a3601108175cc2f091800f123461187282ca31f
2017-07-05 15:19:47 -07:00
Nicholas Nethercote 5d446671a8 Bug 1375776 (part 4) - Allow ProfilerMarkerPayload.h to be #included unconditionally. r=mstange.
This requires:

- Moving the constructors of ProfilerMarkerPayload and its subclasses into the
  .h file so they are visible even when ProfilerMarkerPayload.cpp isn't
  compiled.

- Similarly, using a macro to make StreamPayload() a crashing no-op when the
  profiler isn't enabled. (It is never called in that case.)

--HG--
extra : rebase_source : 7aad2fdb1bd4e49782024dba6664e8f992771520
2017-06-23 16:24:15 +10:00
Bill McCloskey 4a0cf674f2 Bug 1376985 - Label DebuggerOnGCRunnable (r=fitzgen)
MozReview-Commit-ID: DoYm2d5Gmnr
2017-07-03 16:20:00 -07:00
Wes Kocher f8eb8f400a Backed out 2 changesets (bug 1377060) for build bustage a=backout
Backed out changeset c8f818803df7 (bug 1377060)
Backed out changeset bf11ec80b0fb (bug 1377060)

MozReview-Commit-ID: Hp1PtpWYOWV
2017-07-03 11:44:58 -07:00
David Anderson 52b2572051 Refactor PaintThread for async painting. (bug 1377060 part 1, r=mchang) 2017-07-03 11:20:33 -07:00
Nicholas Nethercote 3e439bb4f8 Bug 1376638 - Minimize uses of prmem.h. r=glandium.
It's silly to use prmem.h within Firefox code given that in our configuration
its functions are just wrappers for malloc() et al. (Indeed, in some places we
mix PR_Malloc() with free(), or malloc() with PR_Free().)

This patch removes all uses, except for the places where we need to use
PR_Free() to free something allocated by another NSPR function; in those cases
I've added a comment explaining which function did the allocation.

--HG--
extra : rebase_source : 0f781bca68b5bf3c4c191e09e277dfc8becffa09
2017-06-30 19:05:41 -07:00
Phil Ringnalda 915412e692 Merge m-i to m-c, a=merge
MozReview-Commit-ID: HINQtggBLDr
2017-07-01 17:36:09 -07:00
Olli Pettay 15af1ecf7d Bug 1376614 - Pass budget to forgetSkippable and return early when budget has been used, r=mccr8 2017-06-30 13:44:59 +03:00
Boris Zbarsky 239e1057ca Bug 1376954 part 1. Ensure that we don't try to nursery-allocate non-wrappercached DOM objects. r=smaug 2017-06-30 10:15:51 -07:00
Mats Palmgren 465885031b Bug 1376127 - Use LookupForAdd instead of Get+Put in CycleCollectedJSRuntime::DeferredFinalize to avoid unnecessary hashtable lookups. r=froydnj
MozReview-Commit-ID: 1lEnh9yTQUH
2017-06-28 01:03:18 +02:00
Mats Palmgren 250c9d87b0 Bug 1376126 - Use Lookup() entry instead of Get+Remove in CycleCollectedJSRuntime::RemoveJSHolder to avoid unnecessary hashtable lookups. r=froydnj
MozReview-Commit-ID: F2dJbf9r44b
2017-06-28 01:03:17 +02:00
Bill McCloskey f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Nicholas Nethercote 58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
Nicholas Nethercote 915a56fb41 Bug 1375299 (part 2) - Remove PROFILER_MARKER. r=mstange.
PROFILER_MARKER is now just a trivial wrapper for profiler_add_marker(). This
patch removes it.

--HG--
extra : rebase_source : 9858f34763bb343757896a91ab7ad8bd8e56b076
2017-06-22 13:40:21 +10:00
Nicholas Nethercote 4b364cf3f3 Bug 1375299 (part 1) - Reduce usage of MOZ_GECKO_PROFILER. r=mstange.
This patch reduces the differences between builds where the profiler is enabled
and those where the profiler is disabled. It does this by removing numerous
MOZ_GECKO_PROFILER checks.

These changes have the following consequences.

- Various functions and classes are now defined in all builds, and so can be
  used unconditionally: profiler_add_marker(), profiler_set_js_context(),
  profiler_clear_js_context(), profiler_get_pseudo_stack(), AutoProfilerLabel.
  (They are effectively no-ops in non-profiler builds, of course.)

- The no-op versions of PROFILER_* are now gone. The remaining versions are
  almost no-ops when the profiler isn't built.

--HG--
extra : rebase_source : 8fb5e8757600210c2f77865694d25162f0b7698a
2017-06-22 06:26:16 +10:00
Carsten "Tomcat" Book 8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey 6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book de892834ed Merge mozilla-central to mozilla-inbound 2017-06-20 11:31:34 +02:00
Masayuki Nakano f337b95b60 Bug 1372829 - part2: mozilla::EditorBase should cache raw pointer of nsISelectionController and nsIDocument with nsWeakPtr r=froydnj,m_kato
mozilla::EditorBase stores nsISelectionController and nsIDocument with nsWeakPtr.  However, nsWeakPtr requires QI to retrieve actual pointer and it makes some damage to the performance.  If mozilla::WeakPter were available for them, it'd be great.  However, it's not available with nsISelectionController nor nsIDocument because it's possible to implement SupportsWeakPtr only with their subclasses but the subclasses shouldn't be referred by editor.  Therefore, this patch creates mozilla::CachedWeakPtr<class T> which stores both raw pointer (as cache) and nsWeakPtr and when its cache is requested, it checks if the object referred by nsWeakPtr is still alive.

Additionally, this patch hides the members from subclasses of EditorBase for reducing the maintenance cost.

MozReview-Commit-ID: FvtM7453Vv8

--HG--
extra : rebase_source : a524a8ea327c3993645fafa81db8aef65090f1e0
2017-06-20 00:55:00 +09:00
Carsten "Tomcat" Book ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey 4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Bevis Tseng d1637b9c5a Bug 1372453 - Part 2: Name the caller of ProxyReleaseEvent. r=billm
MozReview-Commit-ID: LYhSWnZkq0i
2017-06-14 09:27:17 +08:00
Nicholas Nethercote 5d3808c6e5 Bug 1373436 (part 4) - Use UniquePtr with profile_add_marker(). r=mstange.
Once the |aPayload| argument to profile_add_marker() became a UniquePtr the
default value of nullptr caused compilation difficulties that could only be
fixed by #including ProfilerMarkerPayload.h into lots of additional places
(because the UniquePtr<T> instantiation required the T to be fully defined). To
get around this I just split profile_add_marker() into two functions, one with
1 argument and one with 2 arguments.

The patch also removes the definition of PROFILER_MARKER_PAYLOAD in the case
where MOZ_GECKO_PROFILER isn't defined. A comment explains why.
2017-06-16 12:26:26 +10:00
Bill McCloskey d44ca1b9a4 Bug 1371080 - Use GetCurrentVirtualThread for XPCOM thread safety checks (r=froydnj)
MozReview-Commit-ID: 4fSphF86cDK
2017-06-13 14:51:11 -07:00
Eric Rahm ab9516d40d Bug 1353593 - Part 2: Remove wwc functions. r=froydnj
This removes the use of |wwc| functions in favor of char16ptr_t's implicit
conversion operators.

MozReview-Commit-ID: GHONYieMPla
2017-06-12 16:20:49 -07:00
Henri Sivonen 432653453a Bug 1261841 part 2 - Use encoding_rs instead of uconv. r=emk,mystor.
MozReview-Commit-ID: 15Y5GTX98bv
2017-06-13 13:23:23 +03:00
Bill McCloskey 2ab0191db6 Bug 1365102 - Convert NS_GetCurrentThread uses in xpcom/ (r=froydnj)
MozReview-Commit-ID: 69qVzf8QJMq
2017-06-12 20:21:43 -07:00