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

1597 Коммитов

Автор SHA1 Сообщение Дата
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
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
Nicholas Nethercote b66a653de9 Bug 1407458 - Use nsString for Observation filenames. r=erahm.
This avoids some unnecessary string copying.

--HG--
extra : rebase_source : a81a5e1612be2897a4285f5f395e7cb3ed006bc8
2017-10-17 08:22:12 +11:00
Mike Hommey b1f7830bc2 Bug 1407838 - Replace UniquePtr<T, NSFreePolicy> with UniqueFreePtr. r=njn
--HG--
extra : rebase_source : 0d356b71443896579dedd98cbd08dfe1acb4a34d
2017-10-12 11:22:05 +09: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
Tom Ritter 701ee70a22 Bug 1406687 Pass return values from fwrite to Unused to silence the warn-unused-result warning r=njn
MozReview-Commit-ID: 4v6tPF5aMz7

--HG--
extra : rebase_source : fe434db73a8da686391462c12b91648348abcdc9
2017-10-09 15:01:48 -05:00
Sebastian Hengst ee63f2e30a Backed out changeset 0317bcff40bc (bug 1406687) for build bustage at testing/gtest/gtest/src/gtest.cc:3871: 'Unused' was not declared in this scope. r=backout 2017-10-09 18:52:39 +02:00
Tom Ritter 22d2cdf063 Bug 1406687 Pass return values from fwrite to Unused to silence the warn-unused-result warning r=njn
MozReview-Commit-ID: 4v6tPF5aMz7

--HG--
extra : rebase_source : c54b129c6815096035e262322f40aa0884b1ae56
2017-10-09 00:26:16 -05:00
Sebastian Hengst aa78440a09 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: EE6DcCgHufi
2017-10-09 11:19:20 +02: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
Nicholas Nethercote d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Haik Aftandilian 6da29eda0b Bug 1393805 - Part 1 - Add XRE_USER_SYS_EXTENSION_DEV_DIR XRESysExtDev Key. r=bobowen,gcp
Adds a new directory provider key "XRESysExtDev" to be used by system extension
developers needing to load system extensions from a directory readable by
sandboxed content processes.

MozReview-Commit-ID: 4BKOZoPzCC3

--HG--
extra : rebase_source : 452db8d53a1f0248a080f858c48492978b5db808
2017-10-04 10:43:49 -07:00
Mike Hommey 4fe7459180 Bug 1403366 - Stop requiring argv[0] for XRE_GetBinaryPath and the underlying BinaryPath::Get. r=froydnj
--HG--
extra : rebase_source : ac7bb0d7766fce5b6325c34c2868b26eec594e18
2017-09-28 10:37:27 +09:00
Sebastian Hengst 4ee7a9c1c4 Backed out changeset 98092d164d57 (bug 1393805) for mass test failures, at least on OS X. r=backout on a CLOSED TREE 2017-10-05 00:21:03 +02:00
Haik Aftandilian 765ca88de4 Bug 1393805 - Part 1 - Add XRE_USER_SYS_EXTENSION_DEV_DIR XRESysExtDev Key. r=bobowen,gcp
Adds a new directory provider key "XRESysExtDev" to be used by system extension
developers needing to load system extensions from a directory readable by
sandboxed content processes.

MozReview-Commit-ID: 4BKOZoPzCC3

--HG--
extra : rebase_source : 8def79f66944f03943ea082dc3bbe746b7382010
2017-10-04 10:43:49 -07:00
Sebastian Hengst 1d5497084d Backed out changeset 582d112281f9 (bug 1403366) 2017-10-04 01:27:07 +02:00
Mike Hommey 3b34606aa6 Bug 1403366 - Stop requiring argv[0] for XRE_GetBinaryPath and the underlying BinaryPath::Get. r=froydnj
--HG--
extra : rebase_source : ac7bb0d7766fce5b6325c34c2868b26eec594e18
2017-09-28 10:37:27 +09:00
Sebastian Hengst 006ae28b0a Backed out changeset 3eb67e350f38 (bug 1403366) 2017-09-29 17:19:46 +02:00
Mike Hommey 31399bfad2 Bug 1403366 - Stop requiring argv[0] for XRE_GetBinaryPath and the underlying BinaryPath::Get. r=froydnj
--HG--
extra : rebase_source : f61fd84dcc801f84f4838d357c795ce07928a4e6
2017-09-28 10:37:27 +09:00
Chris Peterson 10073693ba Bug 870698 - Part 3: Replace Insert("") with InsertLiteral(""). r=erahm
MozReview-Commit-ID: 7ERQfcVAiRx

--HG--
extra : rebase_source : de006c4c32f91bf184d9197e920d546253657f82
extra : intermediate-source : 1e875e7bf42881fd1a104501ad379d9f1cdc3c33
extra : source : 9a43a6935a1ce9bd52020fd816cc6c1686aa8564
2017-09-05 12:41:31 -07:00
Tomislav Jovanovic 8a81eff787 Bug 1386427 - Part 1: Add XRE*NativeManifests locations to dirsvc r=kmag
MozReview-Commit-ID: DoJIP6QZ5AX

--HG--
extra : rebase_source : 8351f66a4ddbe8a7c5a7fdf0dcc96288d060f53a
2017-09-12 18:58:23 +02:00
Doug Thayer 8aae071723 Bug 1382440 - Watch CPU usage in BHR r=froydnj
We would like to be able to see if a given hang in BHR occurred
under high CPU load, as this is an indication that the hang is
of less use to us, since it's likely that the external CPU use
is more responsible for it.

The way this works is fairly simple. We get the system CPU usage
on a scale from 0 to 1, and we get the current process's CPU
usage, also on a scale from 0 to 1, and we subtract the latter
from the former. We then compare this value to a threshold, which
is 1 - (1 / p), where p is the number of (virtual) cores on the
machine. This threshold might need to be tuned, so that we
require an entire physical core in order to not annotate the hang,
but for now it seemed the most reasonable line in the sand.

I should note that this considers CPU usage in child or parent
processes as external. While we are responsible for that CPU usage,
it still indicates that the stack we receive from BHR is of little
value to us, since the source of the actual hang is external to
that stack.

MozReview-Commit-ID: JkG53zq1MdY

--HG--
extra : rebase_source : 16553a9b5eac0a73cd1619c6ee01fa177ca60e58
2017-07-24 13:46:09 -07:00
Nicholas Nethercote d5f5450783 Bug 1392884 - Remove nsIAtomService. r=froydnj.
It's no longer used, and we're in the process of making nsIAtom not usable from
scripts, so we don't want it to be used.
2017-08-25 17:06:58 +10:00
Kris Maglione c4a2fd3bfb Bug 1363482: Part 2 - Allow pre-loading file and JAR entry contents off-thread during startup. r=erahm
MozReview-Commit-ID: 8bKzYpXBQvT

--HG--
extra : rebase_source : 6750d471a0a39338b5145e2dab9d953b4c30a63f
2017-08-30 15:47:17 -07:00
Kris Maglione 42402b8f46 Bug 1363482: Part 1 - Fix FileLocation(nsIZipArchive*) and add a GetBaseZip() getter. r=erahm
The FileLocation(nsIZipArchive*) constructor is declared, but not actually
implemented, so attempting to use it causes a linking error.

Additionally, when a FileLocation is created from an existing zip archive
(such as one from the zip cache or the Omnijar service), it's helpful to have
direct access to that archive rather than having to open a new copy, or infer
it from the path.

MozReview-Commit-ID: 2U14gAm0FYL

--HG--
extra : rebase_source : 97a420f5cc1a97a24debee3764989916be79bcaf
2017-05-10 17:10:58 -07:00
David Major 100151c7a9 Bug 1392485: Add REX.R mov to the disassembler. r=handyman
To mitigate risk for beta uplift, the logic here is limited to what we need for QueryDosDeviceW on Win7x64. A better long-term fix would be to combine this with the more general mov logic in the REX.W section.

MozReview-Commit-ID: BykQSYY61Ua

--HG--
extra : rebase_source : 84ad8ff28865cb04e21d6234a09b06202ca4d363
2017-08-30 07:16:44 +12: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
Tom Ritter c3169de381 Bug 1392630 Remove unused variables r=froydnj
MozReview-Commit-ID: eSbnMzdWZm

--HG--
extra : rebase_source : c432a7d08b845fc102251faadeb7200a4991294a
2017-08-22 09:16:31 -05:00
Tom Ritter 9206f7061c Bug 1392618 Fix comparison between signed and unsigned integer expressions r=dmajor
MozReview-Commit-ID: JCfPClnoe2H

--HG--
extra : rebase_source : c955d489024ae2cff82304ec4d0d9aca5dcb9ee0
2017-08-22 08:57:35 -05: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
Cervantes Yu 102fb1453d Bug 1320134 - Part 4: Remove the debug patches for running out of TLS slots on Windows. r=froydnj
Revert revision f760842b14a2, 051b765ca8f2 and 01125b5142e5 since the original
bug that we run out of TLS slots on Windows is no longer showing up after
firefox55. It should have been fixed elsewhere, very likely in the rust part.

MozReview-Commit-ID: 9j5hFSGT3OE
2017-08-21 16:24:29 +08:00
Eric Rahm 0938982c90 Bug 1389598 - Part 4: Remove remaining gonk refs. r=froydnj
--HG--
extra : rebase_source : 063c7f95dda063eafabfa1921366bd1957b8fe73
2017-08-11 17:45:18 -07:00
Bill McCloskey a7bc022071 Bug 1384336 - Stop using OS-level event loop in content process (r=mstange)
MozReview-Commit-ID: 1ouSlgGchWl
2017-08-09 21:24:20 -07:00
Masatoshi Kimura 06311d2e3a Bug 1375125 - Remove nsILocalFile. r=froydnj
MozReview-Commit-ID: 6oU6Ya5UXtC

--HG--
extra : rebase_source : 55b6e30aa348c1b939326698b0da7d72c26b479c
2017-08-05 09:43:49 +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
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
Carsten "Tomcat" Book b5c809a8bc merge mozilla-inbound to mozilla-central a=merge 2017-07-07 10:35:44 +02: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
Stephen Fewer 9aa633008d Bug 1372849 - Improve the security of WindowsDllDetourPatcher. r=dmajor
--HG--
extra : rebase_source : d5afe76d17a4af5c54d041cde29bce2f34477742
2017-06-14 14:46:39 -05:00
Nicholas Nethercote 2262103c96 Bug 1378051 - Remove bogus #include of nsStringAPI.h. r=froydnj.
nsStringAPI.h is long gone, so that branch is clearly never compiled.

--HG--
extra : rebase_source : 0b237e73a11eed11d05e7c572583362fe52eab70
2017-07-04 16:04:51 +10:00
Nicholas Nethercote 033f83145c Bug 1375387 - Reorder and section-ify GeckoProfiler.h. r=mstange.
This patch gives some structure and order to the profiler's API.

It also renames AutoProfilerRegister as AutoProfilerRegisterThread, to match
profiler_register_thread().
2017-06-22 14:28:47 +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
Chris Peterson de85740dbf Bug 1373525 - xpcom/build: Remove unused member function DebugFilesAutoLock::Clear(). r=froydnj
xpcom/build/PoisonIOInterposerBase.cpp:79:21 [-Wunused-member-function] unused member function 'Clear'

MozReview-Commit-ID: ITI1mZk0DTx

--HG--
extra : source : 77e0683d430bac85376b476a783862db7acc384c
extra : intermediate-source : 935b7d158e4a1d2727998b0c2e7a9122ebefa257
2017-06-07 00:56:55 -07:00
Perry Jiang 45ea222ca2 Bug 1357154 - Cache Windows executable path after BinaryPath::Get is called in main. r=ehsan
MozReview-Commit-ID: Qby9b4ngz2
2017-06-22 10:56:04 -07:00
Arthur Edelstein 355ed44adc Bug 1344034 - Auto-enforce W^X for WindowsDllInterceptor hook pages. r=dmajor 2017-06-09 14:44:00 -04:00
Randell Jesup bafb1e730e Bug 1344223 error-check mkstemp() r=froyd
MozReview-Commit-ID: 1z3cQXioTXP
2017-06-02 15:53:40 -04:00
Carl Corcoran 3ec4012254 Bug 1367899: Add handling for call reg opcode; r=dmajor
MozReview-Commit-ID: 2ncXsGf2H95

--HG--
extra : rebase_source : 70419541bf28844af4ce6348e343691d073556c3
2017-05-25 19:39:43 +02:00
Carl Corcoran f203b4e69b Bug 1367899: Add handling for test r/m32, r32 and jne rel8 opcodes; r=dmajor
MozReview-Commit-ID: 3Cnx5tYrqMT

--HG--
extra : rebase_source : 723d961913e8d2788dcf3ce9b18aa6dffee4e963
2017-05-26 01:56:07 +02:00
Carl Corcoran 42a16ea02c Bug 1343149: Add handling for movups opcode; r=dmajor
MozReview-Commit-ID: 3fDrr2FkfD

--HG--
extra : rebase_source : 09b094868e0c6d754abf8e92b696699c70976382
2017-05-25 22:52:16 +02:00
David Parks 51b34f2689 Bug 1363290 - Part 4: Extend DLL interceptor to handle mov r32, imm32. r=dmajor
The code already handles this if the r32 is eax.  This allows it to use the other 32-bit registers.

--HG--
extra : histedit_source : 1cff5b54640cc48a0574b0b4323ad909e8a7e7b2
2017-05-16 14:48:56 -07:00
David Parks efb6b228f4 Bug 1363290 - Part 2: Add movxsd instruction to WindowsDllInterceptor. r=dmajor
movxsd moves 32-bit register values to 64-bit registers, sign-extending them.  It is used by SetCursorPos.
2017-05-16 14:42:58 -07:00
Cervantes Yu 2dc8565a99 Bug 1348747 - Part 2: Support stub functions starting with jmp rel8 in WindowsDllDetourPatcher. r=handyman
MozReview-Commit-ID: 5hPBmxtBCnu

--HG--
extra : rebase_source : 52a1d43c9f57c9c8b70ded93cbcb76218922ea8b
extra : amend_source : 6377d7eb2246b38e69b95b2a7f507a0f86e300b1
extra : histedit_source : 5cc91dfb4613431466ccde12610a36578361bf53
2017-05-19 15:53:54 +08:00
Cervantes Yu cd7a0759ce Bug 1348747 - Part 1: Fix WindowsDllDetourPatcher that generates extra 0xff byte when generating a x64 jmp instruction. r=handyman
MozReview-Commit-ID: 8TfcwXh6GUN

--HG--
extra : rebase_source : dae5e7e517bdac97eae0983fe4eedacd59f33deb
extra : amend_source : 8332240c2eeff58bc6cd9ea6e6175f2b860777f8
extra : histedit_source : f287291c7405a283f62c15e7ad2a9d8a1c283e06
2017-05-19 15:53:44 +08:00
Kris Maglione fc0586811d Bug 1361900: Part 4 - Use a separate script cache for scripts loaded in the child process. r=erahm,gabor
MozReview-Commit-ID: EIdwmuTOl90

--HG--
extra : rebase_source : d2f6ba18a03cb54459e98b9d2ff03bc3d9567e83
extra : source : ad243db647c708b74859d73e8787b5b34897c140
2017-05-09 19:52:17 -07:00
Sebastian Hengst e1ddae17f8 Backed out changeset ad243db647c7 (bug 1361900) 2017-05-13 18:53:40 +02:00
Kris Maglione 34e20a0617 Bug 1361900: Part 4 - Use a separate script cache for scripts loaded in the child process. r=erahm,gabor
MozReview-Commit-ID: EIdwmuTOl90

--HG--
extra : rebase_source : bce9efcd7b97c281bf4e17e30eed31e6e93c614a
2017-05-09 19:52:17 -07:00
Patrick McManus 580ef98764 Bug 1362498 - cache some networking mozilla::services r=bagder
MozReview-Commit-ID: G61lDIOKcm

--HG--
extra : rebase_source : 83d3f8258234f85145f485ae35e6ac07e77bac98
2017-05-05 14:32:19 -04:00
Jonathan Watt 6f36936674 Bug 1362891, part 1 - Add an XRE_IsE10sParentProcess function. r=froydnj
MozReview-Commit-ID: 6neyZj71i3r

--HG--
extra : rebase_source : a172d64a03f2af8b2b1e4820645295c8d64e8118
2017-04-24 09:38:10 +01:00
Kris Maglione 15e7adf3aa Bug 1359653: Part 5 - Pre-load scripts needed during startup in a background thread. r=shu,erahm
One of the things that I've noticed in profiling startup overhead is that,
even with the startup cache, we spend about 130ms just loading and decoding
scripts from the startup cache on my machine.

I think we should be able to do better than that by doing some of that work in
the background for scripts that we know we'll need during startup. With this
change, we seem to consistently save about 3-5% on non-e10s startup overhead
on talos. But there's a lot of room for tuning, and I think we get some
considerable improvement with a few ongoing tweeks.

Some notes about the approach:

- Setting up the off-thread compile is fairly expensive, since we need to
create a global object, and a lot of its built-in prototype objects for each
compile. So in order for there to be a performance improvement for OMT
compiles, the script has to be pretty large. Right now, the tipping point
seems to be about 20K.

  There's currently no easy way to improve the per-compile setup overhead, but
we should be able to combine the off-thread compiles for multiple smaller
scripts into a single operation without any additional per-script overhead.

- The time we spend setting up scripts for OMT compile is almost entirely
CPU-bound. That means that we have a chunk of about 20-50ms where we can
safely schedule thread-safe IO work during early startup, so if we schedule
some of our current synchronous IO operations on background threads during the
script cache setup, we basically get them for free, and can probably increase
the number of scripts we compile in the background.

- I went with an uncompressed mmap of the raw XDR data for a storage format.
That currently occupies about 5MB of disk space. Gzipped, it's ~1.2MB, so
compressing it might save some startup disk IO, but keeping it uncompressed
simplifies a lot of the OMT and even main thread decoding process, but, more
importantly:

- We currently don't use the startup cache in content processes, for a variety
of reasons. However, with this approach, I think we can safely store the
cached script data from a content process before we load any untrusted code
into it, and then share mmapped startup cache data between all content
processes. That should speed up content process startup *a lot*, and very
likely save memory, too. And:

- If we're especially concerned about saving per-process memory, and we keep
the cache data mapped for the lifetime of the JS runtime, I think that with
some effort we can probably share the static string data from scripts between
content processes, without any copying. Right now, it looks like for the main
process, there's about 1.5MB of string-ish data in the XDR dumps. It's
probably less for content processes, but if we could save .5MB per process
this way, it might make it easier to increase the number of content processes
we allow.

MozReview-Commit-ID: CVJahyNktKB

--HG--
extra : source : 1c7df945505930d2d86a076ee20807104324c8cc
extra : histedit_source : 75e193839edf727874f01b2a9f6852f6c1f087fb%2C3ce966d7dcf2bd0454a7d673d0467097456bd782
2017-05-06 12:24:22 -07:00
Sebastian Hengst 544da0524c Backed out changeset 1c7df9455059 (bug 1359653) 2017-05-06 11:02:23 +02:00
Kris Maglione a4368ffba1 Bug 1359653: Part 5 - Pre-load scripts needed during startup in a background thread. r=shu,erahm
One of the things that I've noticed in profiling startup overhead is that,
even with the startup cache, we spend about 130ms just loading and decoding
scripts from the startup cache on my machine.

I think we should be able to do better than that by doing some of that work in
the background for scripts that we know we'll need during startup. With this
change, we seem to consistently save about 3-5% on non-e10s startup overhead
on talos. But there's a lot of room for tuning, and I think we get some
considerable improvement with a few ongoing tweeks.

Some notes about the approach:

- Setting up the off-thread compile is fairly expensive, since we need to
create a global object, and a lot of its built-in prototype objects for each
compile. So in order for there to be a performance improvement for OMT
compiles, the script has to be pretty large. Right now, the tipping point
seems to be about 20K.

  There's currently no easy way to improve the per-compile setup overhead, but
we should be able to combine the off-thread compiles for multiple smaller
scripts into a single operation without any additional per-script overhead.

- The time we spend setting up scripts for OMT compile is almost entirely
CPU-bound. That means that we have a chunk of about 20-50ms where we can
safely schedule thread-safe IO work during early startup, so if we schedule
some of our current synchronous IO operations on background threads during the
script cache setup, we basically get them for free, and can probably increase
the number of scripts we compile in the background.

- I went with an uncompressed mmap of the raw XDR data for a storage format.
That currently occupies about 5MB of disk space. Gzipped, it's ~1.2MB, so
compressing it might save some startup disk IO, but keeping it uncompressed
simplifies a lot of the OMT and even main thread decoding process, but, more
importantly:

- We currently don't use the startup cache in content processes, for a variety
of reasons. However, with this approach, I think we can safely store the
cached script data from a content process before we load any untrusted code
into it, and then share mmapped startup cache data between all content
processes. That should speed up content process startup *a lot*, and very
likely save memory, too. And:

- If we're especially concerned about saving per-process memory, and we keep
the cache data mapped for the lifetime of the JS runtime, I think that with
some effort we can probably share the static string data from scripts between
content processes, without any copying. Right now, it looks like for the main
process, there's about 1.5MB of string-ish data in the XDR dumps. It's
probably less for content processes, but if we could save .5MB per process
this way, it might make it easier to increase the number of content processes
we allow.

MozReview-Commit-ID: CVJahyNktKB

--HG--
extra : rebase_source : 2ec24c8b0000f9187a9bf4a096ee8d93403d7ab2
extra : absorb_source : bb9d799d664a03941447a294ac43c54f334ef6f5
2017-05-05 16:15:04 -07:00
David Major a063c99655 Bug 1349444: Teach the disassembler about "cmp byte ptr [relative], imm8". r=handyman 2017-05-03 17:11:59 -04:00
Cervantes Yu cc5836fbae Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
NS_SetCurrentThreadName() is added as an alternative to PR_SetCurrentThreadName()
inside libxul. The thread names are collected in the form of crash annotation to
be processed on socorro.

MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Kan-Ru Chen 36e1ce5909 Bug 1313200 - Init AbstractThread properly and early. r=froydnj
Separate AbstractThread::InitTLS and
AbstractThread::InitMainThread. Init AbstractThread main thread when
init nsThreadManager. Init AbstractThread TLS for all content process
types because for plugin and gmp processes we are doing IPC even
without init XPCOM and for content process init XPCOM requires IPC.

MozReview-Commit-ID: DhLub23oZz8

--HG--
extra : rebase_source : 6e4bfa03ec69e1eb694924903f1fa5e7259cbba3
2017-04-19 13:24:09 +08:00
Phil Ringnalda 607ccd57d2 Backed out changeset a50a4f9e972b (bug 1322554) for near-permaorange in Win8 debug updater xpcshell tests 2017-04-06 21:00:26 -07:00
Carl Corcoran 08fc406af4 Bug 1322554: Interpose kernel32!BaseThreadInitThunk to add verification of thread start addresses; r=dmajor
MozReview-Commit-ID: CvqZ3gXJyvo
2017-03-29 17:07:37 +02:00
Eric Rahm 478755933a Bug 1351732 - Part 2: Replace use of PLArena with ArenaAllocator in xpcom. r=froydnj
This swaps xpcom's plarena usage to ArenaAllocator. The new ArenaStrdup
extensions are used as well.

MozReview-Commit-ID: DHDfl6IkGJL
2017-03-30 16:46:58 -07:00
Sebastian Hengst f12d3f3f0d Backed out changeset aa882c81840b (bug 1346415) for frequently failing toolkit/components/telemetry/tests/unit/test_ThreadHangStats.js and likely also breaking Windows 8 x64 opt builds. r=backout 2017-03-29 17:56:14 +02:00
Michael Layzell ee460f557c Bug 1346415 - Collect native stacks for all hangs over 128ms on Nightly, r=gfritzsche
MozReview-Commit-ID: 4LVBFHkeTdD
2017-03-29 10:10:26 -04:00
Cervantes Yu ad89036000 Bug 1320134 - Part 1: Tracking TLS allocations for diagnosing out-of-TLS-slots crashes on Windows. r=froydnj
This tracks TlsAlloc() and TlsFree() calls on Windows for diagnosing crashes when a proces reaches
its limit (1088) for TLS slots. Tracking of TLS allocation is done by intercepting TlsAlloc() and
TlsFree() in kernel32.dll. After initialization, we start tracking the number of allocated TLS
slots. If the number of observed TLS allocations exceeds a high water mark, we record the stack
when TlsAlloc() is called, and the recorded stacks gets serialized in a JSON string ready for
crash annotation.

MozReview-Commit-ID: 5fHVr0eiMy5
2017-03-15 18:20:30 +08:00
Nathan Froyd 5fd1d453a9 Bug 1312087 - part 1 - move mozilla::{Mutex,CondVar} to use mozglue locking primitives; r=erahm
This change moves us away from NSPR primitives for our primary
synchronization primitives.  We're still using PRMonitor for
ReentrantMonitor, however.

The benefits of this change:

* Slightly faster, as we don't have to deal with some of NSPR's overhead;

* Smaller datatypes.  On POSIX platforms in particular, PRLock is
  enormous. PRCondVar also has some unnecessary overhead.

* Less dynamic memory allocation.  Out of necessity, Mutex and CondVar
  allocated the NSPR data structures they needed, which lead to
  unnecessary checks for failure.

  While sizeof(Mutex) and sizeof(CondVar) may get bigger, since they're
  embedding structures now, the total memory usage should be less.

* Less NSPR usage.  This shouldn't need any explanation.
2017-03-21 10:20:36 -05:00
Cervantes Yu a00bb8ab35 Backed out changeset 5fd991c5f120 (bug 1320134) for crashing webgl on Windows. r=backout 2017-03-15 12:40:11 +08:00
Nicholas Nethercote d8023679e3 Bug 1345262 (part 2) - Add profiler_{set,clear}_js_context(). r=mstange.
PseudoContext::sampleContext() is always called immediately after
profiler_get_pseudo_stack(). This patch introduces profiler_set_js_context()
and profiler_clear_js_context(), which replace the profiler_get_pseudo_stack()
+ sampleContext() pairs. This takes us a step closer to not having to export
PseudoStack outside the profiler.

--HG--
extra : rebase_source : 8558d1600eafd395cc696d31f3d21fb52a1a74b0
2017-03-09 17:06:35 +11:00
Cervantes Yu 201ba88937 Bug 1320134 - Part 1: Tracking TLS allocations for diagnosing out-of-TLS-slots crashes on Windows. r=froydnj
This tracks TlsAlloc() and TlsFree() calls on Windows for diagnosing crashes when a proces reaches
its limit (1088) for TLS slots. Tracking of TLS allocation is done by intercepting TlsAlloc() and
TlsFree() in kernel32.dll. After initialization, we start tracking the number of allocated TLS
slots. If the number of observed TLS allocations exceeds a high water mark, we record the stack
when TlsAlloc() is called, and the recorded stacks gets serialized in a JSON string ready for
crash annotation.

MozReview-Commit-ID: 5fHVr0eiMy5
2017-03-01 18:52:07 +08:00
Eric Rahm 3bec954d62 Bug 792209 - Remove nsISupportsArray. r=froydnj
MozReview-Commit-ID: G28VUoYj9Wj
2016-11-17 11:45:41 -08:00
Jim Chen 53a1107cd1 Bug 1343075 - Use GeckoEditableSupport from PuppetWidget; r=masayuki r=rbarker r=snorp r=esawin
Bug 1343075 - 1a. Add TextEventDispatcherListener::GetIMEUpdatePreference; r=masayuki

Add a GetIMEUpdatePreference method to TextEventDispatcherListener to
optionally control which IME notifications are received by NotifyIME.
This patch also makes nsBaseWidget forward its GetIMEUpdatePreference
call to the widget's native TextEventDispatcherListener.

Bug 1343075 - 1b. Implement GetIMEUpdatePreference for all TextEventDispatcherListener; r=masayuki

This patch implements GetIMEUpdatePreference for all
TextEventDispatcherListener implementations, by moving previous
implementations of nsIWidget::GetIMEUpdatePreference.

Bug 1343075 - 2. Allow setting a PuppetWidget's native TextEventDispatcherListener; r=masayuki

In PuppetWidget, add getter and setter for the widget's native
TextEventDispatcherListener. This allows overriding of PuppetWidget's
default IME handling. For example, on Android, the PuppetWidget's native
TextEventDispatcherListener will communicate directly with Java IME code
in the main process.

Bug 1343075 - 3. Add AIDL interface for main process; r=rbarker

Add AIDL definition and implementation for an interface for the main
process that child processes can access.

Bug 1343075 - 4. Set Gecko thread JNIEnv for child process; r=snorp

Add a JNIEnv* parameter to XRE_SetAndroidChildFds, which is used to set
the Gecko thread JNIEnv for child processes. XRE_SetAndroidChildFds is
the only Android-specific entry point for child processes, so I think
it's the most logical place to initialize JNI.

Bug 1343075 - 5. Support multiple remote GeckoEditableChild; r=esawin

Support remote GeckoEditableChild instances that are created in the
content processes and connect to the parent process GeckoEditableParent
through binders.

Support having multiple GeckoEditableChild instances in GeckoEditable by
keeping track of which child is currently focused, and only allow
calls to/from the focused child by using access tokens.

Bug 1343075 - 6. Add method to get GeckoEditableParent instance; r=esawin

Add IProcessManager.getEditableParent, which a content process can call
to get the GeckoEditableParent instance that corresponds to a given
content process tab, from the main process.

Bug 1343075 - 7. Support GeckoEditableSupport in content processes; r=esawin

Support creating and running GeckoEditableSupport attached to a
PuppetWidget in content processes.

Because we don't know PuppetWidget's lifetime as well as nsWindow's,
when attached to PuppetWidget, we need to attach/detach our native
object on focus/blur, respectively.

Bug 1343075 - 8. Connect GeckoEditableSupport on PuppetWidget creation; r=esawin

Listen to the "tab-child-created" notification and attach our content
process GeckoEditableSupport to the new PuppetWidget.

Bug 1343075 - 9. Update auto-generated bindings; r=me
2017-03-07 22:34:39 -05:00
David Major ed0b8f8653 Bug 1344615: Remove nsXPCOMStrings.{h,cpp} r=bsmedberg
These are now dead code.

MozReview-Commit-ID: AClU0Qx3kmN

--HG--
extra : rebase_source : df83cf89292da1519bb26027c11e14923d5c54a0
2017-03-06 17:52:54 +13:00
Daniel Holbert 95a650ec1b Bug 1343975: Get rid of all dos/windows linebreaks in Mozilla C++ code. r=ehsan
This is an automated patch, generated by the following command:
find . -name "*.h" -exec fromdos {} \; && \
  find . -name "*.cpp" -exec fromdos {} \; && \
  hg revert -C gfx/angle \
               gfx/sfntly \
               media/webrtc \
               media/libstagefright \
               media/openmax_il \
               other-licenses

MozReview-Commit-ID: Gunlz3vE3h6
2017-03-02 13:08:29 -08:00
Benjamin Smedberg ac290e07e4 Bug 1332639 - Fix nsBrowserApp.cpp and related headers to compile without the external string API, r=glandium
MozReview-Commit-ID: CQjtpA2lxAM

--HG--
extra : rebase_source : ae92ab7141cba8f3db41d5130059d02866242ccd
2017-02-27 13:39:34 -05:00
Nicholas Nethercote 352554c8f6 Bug 1340928 (part 10) - Remove nested calls to profiler_{init,shutdown}(). r=mstange.
The profiler can currently handle nested calls to profiler_{init,shutdown}() --
only the first call to profiler_init() and the last call to profiler_shutdown()
do anything. And sure enough, we have the following.

- Outer init/shutdown pairs in XRE_main()/XRE_InitChildProcess() (via
  GeckoProfilerInitRAII).

- Inner init/shutdown pairs in NS_InitXPCOM2()/NS_InitMinimalXPCOM() (both shut
  down in ShutdownXPCOM()).

This is a bit silly, so the patch removes the inner pairs, and adds a
now-needed pair in XRE_XPCShellMain. This will allow gInitCount -- which tracks
the nesting depth -- to be removed in a future patch.

--HG--
extra : rebase_source : 7e8dc6ce81ce10269d2db6a7bf32852c396dba0e
2017-02-15 17:08:38 +11:00
David Parks d884f8d253 Bug 1328996 - Add ability for 64-bit MOV instructions (those with REX.W bit set) to be patched in the DLL interceptor harness. r=aklotz
Also adds some ASSERTs to catch failures in the DLL interceptor.

--HG--
extra : rebase_source : 1de8f5f73ca8b802fd5338fa87f33cc742a63e47
2017-02-03 11:58:20 -08:00
David Parks 26437f4ecd Bug 1284897 - Add mechanism to libsandbox_s to track names of files that have been given special sandbox access permissions (PermissionsService). r=bobowen, r=glandium
Hook this into the browser via the XREAppData. This patch does not include the changes to Chromium source code.

--HG--
extra : rebase_source : 4d5637bcdbeae605b0b99e9192598d48f371b698
2017-02-14 15:08:40 -08:00
David Parks 21bf9d1a88 Bug 1284897 - Add missing hooked methods to TestDllInterceptor. r=aklotz
Added ASSERTions to nsWindowsDllInterceptor in case of a failed detour hook, with an exception for the RET opcode that appears in ImmReleaseContext. Added documentation about TestDllInterceptor.

--HG--
extra : rebase_source : a3c6fe0949f5503979a062bdaa5f35526ddee73b
2017-02-07 12:00:45 -08:00
David Parks 81628820f6 Bug 1284897 - Add opcodes to nsWindowsDllInterceptor for GetSaveFileNameW, GetOpenFileNameW and ImmReleaseContext. r=aklotz
This includes a near-jump CALL instruction in x64, which expands to a far-jump CALL with a 64-bit address as inline data. This requires us to abandon the method where we memcpy the code block into the trampoline and, instead, build the trampoline function as we go.

--HG--
extra : rebase_source : 7f90ce5ba1a82dff731aff1ac17117c684b7b2cf
2017-01-20 16:03:44 -08:00
Marco Castelluccio 732bc992ae Bug 1341023 - Take module name encoding into account for late writes and hangs. r=Dexter 2017-02-21 22:44:42 +00:00
Sebastian Hengst 1c6c3bfb07 Backed out changeset a176abd99d2b (bug 1284897) for "Unknown sync IPC message PPluginModule::GetFileName"; needs review from an IPC peer now. r=backout on a CLOSED TREE 2017-02-21 23:15:11 +01:00
Sebastian Hengst 5400f1a2d3 Backed out changeset 4e81ec8850dc (bug 1284897) 2017-02-21 23:13:34 +01:00
Sebastian Hengst 68e7240c0c Backed out changeset 71b9ac06a60a (bug 1284897) 2017-02-21 23:13:29 +01:00
David Parks 82eb0f3fdd Bug 1284897 - Add mechanism to libsandbox_s to track names of files that have been given special sandbox access permissions (PermissionsService). r=bobowen, r=glandium
Hook this into the browser via the XREAppData. This patch does not include the changes to Chromium source code.

--HG--
extra : rebase_source : e34e8b50101cc40ded26e80791052123b24c8243
extra : histedit_source : 69c9b2dc91546adbfdad03b5d43842809191ffb9
2017-02-14 15:08:40 -08:00
David Parks 258144b97c Bug 1284897 - Add missing hooked methods to TestDllInterceptor. r=aklotz
Added ASSERTions to nsWindowsDllInterceptor in case of a failed detour hook, with an exception for the RET opcode that appears in ImmReleaseContext. Added documentation about TestDllInterceptor.

--HG--
extra : rebase_source : 48a38a09a1feb63600e12eba997a83f646cd1595
extra : histedit_source : 566cec5c47c400402e2e4dfa0cdc6d53d82b0815
2017-02-07 12:00:45 -08:00
David Parks ad89b9cf9b Bug 1284897 - Add opcodes to nsWindowsDllInterceptor for GetSaveFileNameW, GetOpenFileNameW and ImmReleaseContext. r=aklotz
This includes a near-jump CALL instruction in x64, which expands to a far-jump CALL with a 64-bit address as inline data. This requires us to abandon the method where we memcpy the code block into the trampoline and, instead, build the trampoline function as we go.

--HG--
extra : rebase_source : f0362c4b8200ba3d05191fdd45c5783dccd444bc
extra : histedit_source : 3018adf0c7d5849f87adc5e5459acf9f0e56301c
2017-01-20 16:03:44 -08:00
Tom Tromey d2667a2b27 Bug 1060419 - make AppendPrintf and nsPrintfCString use Printf.h, r=froydnj
MozReview-Commit-ID: 2E8FoiNxU8L

--HG--
extra : rebase_source : 810ac727bef0751f24edea18c52e0ec170bf367d
2016-12-14 09:32:21 -07:00
Sylvestre Ledru 5bedb078f1 Bug 1338086 - Remove useless else blocks in order to reduce complexity in xpcom/ r=froydnj
MozReview-Commit-ID: JUJARn5Nspp

--HG--
extra : rebase_source : c719d19215fb26ace822269c2a28faf5cf35ffbb
2017-02-09 15:31:35 +01:00
Bill McCloskey e1b2f2ef09 Bug 1337537 - Make a SystemGroup singleton (r=ehsan)
MozReview-Commit-ID: Jnwrr49daeM
2017-02-13 17:02:52 -08:00
David Major 65625866dd Bug 1335896 - Shrink maxPatchedFns in WindowsDllInterceptor. r=aklotz
MozReview-Commit-ID: HLHC2l9ElA0
2017-02-10 14:20:43 +13:00
Nathan Froyd 168a1fcbdc Bug 1336086 - remove mozilla::services::_external_Get*Service; r=bsmedberg,jesup
Removing the exported symbols is straightforward enough.

The only wrinkle is that PeerConnectionCtx.cpp gets compiled with and
without MOZILLA_INTERNAL_API.  When compiling without
MOZILLA_INTERNAL_API, mozilla::services::Get*Service was redirected to
the _external_* symbol variants.  But as the _external_* symbols no
longer exist, PeerConnectionCtx.cpp's code no longer worked.

Fortunately, PeerConnectionCtx.cpp already contains a few #ifdef
MOZILLA_INTERNAL_API blocks to handle internal/external compilation;
fixing this newest issue was just a matter of extending existing blocks
and adding new ones.  The key observation is that we never added any
observers when compiling without MOZILLA_INTERNAL_API, so we can #ifdef
out the removals of observers, as those would have no effect, and simply
skip getting the observer service for the observer additions if we're
compiling without MOZILLA_INTERNAL_API.
2017-02-03 11:52:02 -05:00
Tom Tromey ada066d0b0 Bug 1324434 - remove JS_GetCurrentEmbedderTime in favor of TimeStamp; r=sfink
MozReview-Commit-ID: CG0MidpH8k3

--HG--
extra : rebase_source : 1facc7347c19d9975bbeb168166ddd4c7de4545b
2016-12-19 08:23:59 -07:00
Chris Pearce 701e1daf19 Bug 1332530 - Move GMPLoader code out of plugin-container and back into XUL. r=gerald
The GMPLoader code was in plugin-container so that it was covered by
Adobe's voucher of plugin-container, but that's no longer necessary.

MozReview-Commit-ID: 3VRBAohRI9I

--HG--
extra : rebase_source : 58a30855ade14af4c4b1420edabd3abb398f232e
2017-01-19 15:39:03 +13: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
Chris Peterson 2ffa3b99a7 Bug 1331171 - Part 1: Remove StartupSpecialSystemDirectory() workaround for Windows XP. r=jimm
SHGetKnownFolderPath() is available on Windows Vista+ so we no longer need to GetProcAddress("SHGetKnownFolderPath"). We can set _WIN32_WINNT 0x0600 to expose the SHGetKnownFolderPath function declaration in shlobj.h and call it directly.

Also remove a redundant #include <shlobj.h>.

MozReview-Commit-ID: AoAlrfvQ5AB

--HG--
extra : rebase_source : 2fa3a0d3d122ca31fb3369a43a03b6e2c5d5dec2
2017-01-14 01:12:02 -08:00
David Anderson 23572be8d6 Add memory reporting message support to PGPU. (bug 1321492 part 6, r=rhunt, r=erahm) 2017-01-26 16:35:54 -08:00
Nathan Froyd f5b2c78c1a Bug 1276669 - part 8 - add a comment in NS_InitXPCOM2 to make static atom initialization less cryptic; r=erahm
This comment makes things slightly more greppable.
2017-01-26 15:43:38 -05: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
Masatoshi Kimura 720fd1b0ae Bug 1331820 - Disallow NS_ConvertUTF16toUTF8 for NS_NewNativeLocalFile. r=froydnj
MozReview-Commit-ID: 5YGVp8mOGff

--HG--
extra : rebase_source : 5114896c7e0a81e8c85fc5f35f35f5c17d405ecb
2017-01-21 15:48:56 +09:00
Phil Ringnalda 74f10163fe Merge m-i to m-c, a=merge 2017-01-21 15:24:42 -08:00
Phil Ringnalda 72dfd3bd3f Merge m-c to m-i 2017-01-20 19:16:11 -08:00
Mike Hommey ce74ceac47 Bug 1330533 - Remove XRE_LibFuzzerGetFuncs. r=decoder
Now that XRE_LibFuzzerGetFuncs is not used from outside libxul, it can
be inlined in LibFuzzerRunner::Run, simplifying things a little more.

--HG--
extra : rebase_source : 7a09f37444bf02983b232c964d85e7a866221f48
2017-01-12 16:02:50 +09:00
Mike Hommey 7523430127 Bug 1330533 - Use FuzzerDriver directly instead of wrapping it in a libfuzzer_main function. r=decoder
Going further from the previous changes, all libfuzzer_main really does
is call the init function, and then proceed to call the fuzzer driver
with the testing function.

So instead of calling that function for it to do all that, the
LibFuzzerRunner can just call the init function itself, and then
call the fuzzer driver with the testing function.

--HG--
extra : rebase_source : 2eb1a2ae763ef21827471cd32addceacefc1ac5d
2017-01-12 14:44:18 +09:00
Mike Hommey 92c5bff388 Bug 1330533 - Remove argc/argv arguments to XRE_LibFuzzerSetMain. r=decoder
The function given to XRE_LibFuzzerSetMain is called from somewhere that
does have access to argc/argv already, so we can avoid passing them
to XRE_LibFuzzerSetMain.

This actually might fix subtle issues with argc/argv not really matching
reality when calling the LibFuzzerMain function in the current code:
some arguments are handled before the call, and both argc and argv are
modified from within XRE_main, but the values stored for the
LibFuzzerMain call still are the original ones.

Argv being a pointer, and it not being reallocated, the value stored for
the LibFuzzerMain call points to the changed one, but argc, being an
integer, is not modified accordingly.

In fact, it's actually worse, because while the Gecko code doesn't
reallocate argv, gtk_main might. So if some GTK flag is passed on the
command line, there's also a possibility that the LibFuzzerMain function
will do a use-after-free.

So all in all, it's just better to use the set of modified argc/argv
from XRE_main instead of storing them from main().

--HG--
extra : rebase_source : 92b89909eab0fc2f67ce372b959bb0e3ed12cd2b
2017-01-12 11:59:37 +09: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
Benjamin Smedberg c7352a6657 Bug 1306329 - Stop exporting XPCOM and XUL symbols. r=glandium
--HG--
extra : rebase_source : 482177f9c1026e527cff9f23b36a5076fa6d07a5
2016-12-02 12:55:34 -05:00
Wes Kocher d4ced30f67 Backed out 4 changesets (bug 1306329) for 3000+ hazards a=backout
Backed out changeset 1c2f51ce3faf (bug 1306329)
Backed out changeset 6bb17b9a62d8 (bug 1306329)
Backed out changeset 377ca1419f1a (bug 1306329)
Backed out changeset ad4e531c7070 (bug 1306329)

MozReview-Commit-ID: KJAxdyJeJ6J
2017-01-17 17:55:24 -08:00
Benjamin Smedberg d616a7ec44 Bug 1306329 - Stop exporting XPCOM and XUL symbols. r=glandium
--HG--
extra : rebase_source : 8c700498470b42279197f316d553154b1f2ed235
2016-12-02 12:55:34 -05:00
Mike Hommey 6da931c3c8 Bug 1306327 - Remove everything related to frozen functions from the XPCOM glue. r=bsmedberg
Now that nothing is using those functions, we can remove them and limit
the scope of the standalone glue to initialize the new Bootstrap API.

--HG--
extra : rebase_source : b73845a207f8d6e632c46d089a00b7a67e1648fc
2017-01-10 17:12:43 +09:00
Mike Hommey 2330dcf840 Bug 1306327 - Move reading application.ini to XRE_main. r=bsmedberg
Reading application.ini involves using nsCOMPtr<nsIFile>, and that can
only happen through the XPCOM glue, which we eventually want to get rid
of.

So, while keeping the command line argument/environment variable
handling in nsBrowserApp, we move the actually parsing of the file to
XRE_main, where things can be handled without the XPCOM glue.

--HG--
extra : rebase_source : 487960a671476d4edae4f568c37efa6563ef4dff
2017-01-10 16:43:23 +09:00
Mike Hommey 17436e8731 Bug 1306327 - Remove NS_XRE_DLL_BLOCKLIST_ENABLED. r=bsmedberg
Instead of having nsBrowserApp.cpp set a flag in XREAppData to indicate
whether the DLL blocklist properly initialized, just have XRE code ask
the blocklist itself.

--HG--
extra : rebase_source : e872853481acce68b325909e476d009aec878701
2017-01-10 09:10:36 +09:00
Mike Hommey af19e1f051 Bug 1306327 - Remove the flags argument to XRE_main. r=bsmedberg
This hasn't been used since the removal of the Metro code in bug
1039866, close to two years ago.

--HG--
extra : rebase_source : 58ec1ce63e4231c8006cafd3424675f14ddbf9f1
2017-01-10 14:15:50 +09: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
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
Ryan VanderMeulen 1e6f972917 Merge inbound to m-c. a=merge 2017-01-07 11:22:47 -05: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
Nathan Froyd 4039d9589a Bug 1142197 - manage ProfilerBacktrace with UniquePtr; r=mstange
Smart pointers are better than raw pointers.
2017-01-06 09:21:01 -05:00
Benjamin Smedberg d37894f60d Bug 1321593 part A - Refactor nsXREAppData: 1) make nsXREAppData strongly own its members 2) rename it to mozilla::XREAppData 3) separate out the static compiled data into StaticXREAppData 4) Remove XRE_CreateAppData and XRE_FreeAppData 5) remove the struct size and related size-checking code which was only ever useful for cross-version compatibility, r=glandium
MozReview-Commit-ID: CQv1UrSaw4D

--HG--
rename : xpcom/build/nsXREAppData.h => xpcom/build/XREAppData.h
rename : xpcom/glue/AppData.cpp => xpcom/glue/XREAppData.cpp
extra : source : eae2252a519f3ac5850f5110a6a1be45891ea5e9
2016-12-02 09:07:24 -05:00
Sebastian Hengst 27bd22acd7 Backed out changeset eae2252a519f (bug 1321593) for leaks, e.g. in clipboard and jetpack tests. r=backout
--HG--
rename : xpcom/build/XREAppData.h => xpcom/build/nsXREAppData.h
rename : xpcom/glue/XREAppData.cpp => xpcom/glue/AppData.cpp
2016-12-12 22:10:17 +01:00
Benjamin Smedberg 4df1abc2c0 Bug 1321593 part A - Refactor nsXREAppData: 1) make nsXREAppData strongly own its members 2) rename it to mozilla::XREAppData 3) separate out the static compiled data into StaticXREAppData 4) Remove XRE_CreateAppData and XRE_FreeAppData 5) remove the struct size and related size-checking code which was only ever useful for cross-version compatibility, r=glandium
MozReview-Commit-ID: CQv1UrSaw4D

--HG--
rename : xpcom/build/nsXREAppData.h => xpcom/build/XREAppData.h
rename : xpcom/glue/AppData.cpp => xpcom/glue/XREAppData.cpp
extra : rebase_source : c909ee206d31b110c6a38cc466ef24a465ee2ae5
extra : histedit_source : e86c3900412229f99ade29c5b8e3943d943ec718
2016-12-02 09:07:24 -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
Andi-Bogdan Postelnicu a6f9209af4 Bug 1317954 - Use C++11's override and remove virtual where applicable in xpcom/. r=froydnj
MozReview-Commit-ID: 2XXoxNHYCKm

--HG--
extra : rebase_source : f4a144b706aa467a1cf713db57adcbefa40b8b96
2016-11-16 14:27:07 +02:00
Andi-Bogdan Postelnicu 60bb054c02 Bug 1317954 - Replace default bodies of special member functions with = default; in xpcom/. r=froydnj
MozReview-Commit-ID: 5GXchMr0VvV

--HG--
extra : rebase_source : ac32605ef643f67ffd0f0894f31eed8f01804e2f
2016-11-16 14:25:31 +02:00
Randall Barker de17af98b5 Bug 1314466 - part 5, Add service process manager r=snorp 2016-11-14 16:45:23 -08:00
Benjamin Smedberg 67116c7fb5 Bug 1306329 - Stop exporting XPCOM and XUL symbols. r=glandium
MozReview-Commit-ID: AMNFLRCJ98h

--HG--
extra : rebase_source : 8adaea5e9f72b5974be5bf86c32a7b2e06129c48
extra : source : 1c2f51ce3faff9c2ecd9d6c09ac49de975946185
2016-12-02 12:55:34 -05:00
Eric Rahm 5ae299f0d8 Bug 1315812 - Mark nsISupportsArray, nsICollection, nsIEnumerator as deprecated. r=froydnj
This marks the idl classes as deprecated, removes an unnecessary include that
was triggering deprecation warnings and wraps a necessary include in
XPCOMInit.cpp that is used for registering the component in deprecation
disabling pragmas.

MozReview-Commit-ID: BbNU5q8O4Q4
2016-11-10 13:15:33 -08:00
Wes Kocher df5dbf81cc Merge central to inbound a=merge 2016-11-02 17:31:08 -07:00
Matt Woodrow 12feacb4da Bug 1314191 - Make sure we shut down VideoDecoderManagerChild before threads go away. r=dvander 2016-11-03 09:57:17 +13:00
Aaron Klotz 9a3cf49632 Bug 1314183: Ensure that nsWindowsDllInterceptor does not accept RIP-relative displacements on amd64; r=dmajor
MozReview-Commit-ID: DNf3h9UiRkG

--HG--
extra : rebase_source : 5357b972f72ca10579c6a8ba4a73b61ea84870bb
2016-11-02 10:42:07 -06:00
David Anderson ea1b39856a Ensure we start the Telemetry singleton in the GPU process. (bug 1304494 part 1, r=gfritzsche) 2016-10-30 22:35:56 -07:00
Matt Woodrow 4d0b10822d Bug 1308363 - Remove GONK specific code from gfx/. r=jrmuizel,sotaro 2016-10-27 13:17:10 +13:00
Aaron Klotz d4a8a0d706 Bug 1310056: Part 2 - Additional DLL interceptor enhancements; r=m_kato
MozReview-Commit-ID: 6fFbGjqTHzg
2016-10-25 17:57:16 -06:00
Aaron Klotz bb3855e88a Bug 1310056: Part 1 - DllInterceptor improvements to support InSendMessageEx; r=m_kato
MozReview-Commit-ID: 2I1AHqKGfQi
2016-10-13 15:04:48 -06:00
David Anderson b6b222c57c Ensure the hang monitor is enabled in the GPU process. (bug 1311716, r=billm) 2016-10-24 01:07:54 -07:00
Aaron Klotz b785d4851f Bug 1218473: Add check for presence of NVIDIA Optimus drivers to WindowsNopSpacePatcher; r=ehsan
MozReview-Commit-ID: 7WhWWbRHOw7
2016-10-13 17:10:52 -06:00
Aaron Klotz 25ab6720e1 Bug 1240848: Adds additional instructions to x64 detour patcher and prevents register clobbering in jmp from trampoline; r=ehsan
MozReview-Commit-ID: 7DCQZc9eoQI
2016-10-13 14:56:23 -06:00
Aaron Klotz dc65cea470 Bug 1240977: DLL interceptor improvements for Windows 10 x64 ntdll APIs; r=ehsan
MozReview-Commit-ID: rM8XWK5y2n
2016-10-13 15:15:22 -06:00
Mike Hommey 9a71407b51 Bug 1332523 - Add BinaryPath::Get variant that returns a UniquePtr instead of filling a stack buffer. r=bsmedberg
--HG--
extra : rebase_source : 3fd502f67bd28e504f9a5d1a6ea1e790e9fec774
2017-01-13 09:40:54 +09:00
Sebastian Hengst cdcc9e20da Bug 1304829 - rename RELEASE_BUILD to RELEASE_OR_BETA: main part. r=ted,Mossop
MozReview-Commit-ID: 1lCt0xTMV5O
2016-10-08 11:14:49 +02:00
Matt Woodrow 67cd537af3 Bug 1300682 - Part 6: Use SharedThreadPool for GPU process decoders. r=dvander 2016-10-07 21:13:33 +13:00
Tom Tromey 7bc8491bea Bug 1067547 - unify ScopedLogging implementations and use in nsEmbedFunctions; r=bsmedberg
MozReview-Commit-ID: 6hDZDaBsNFM

--HG--
extra : rebase_source : 9422c235ebdffd84e06137bb2c63ce106cb39f0b
2016-09-26 11:06:38 -06:00
Nathan Froyd 9131b203eb Bug 1305422 - part 11 - don't call size_forward in nsXPCOMStrings.cpp; r=erahm 2016-09-29 22:33:57 -04:00
Byron Campen [:bwc] 0cf5031cd7 Bug 1157323 - Part 2: Factor nsTimerImpl into two classes, so we don't need to do racy stuff in nsTimerImpl::Release. r=froydnj
MozReview-Commit-ID: DAe4TpMqBpA

--HG--
extra : rebase_source : 4caeb1ffc41b0704e5c1c111ef869d8edfb6d30c
2016-07-20 15:16:40 -05:00
David Anderson 4c2e28b8b6 Add XRE_IsGPUProcess. (bug 1301266 part 1, r=billm) 2016-09-21 22:38:40 -07:00
Matt Woodrow 64a71f90da Bug 1288618 - Part 7: Initialize AbstractThread in the GPU process. r=dvander 2016-09-21 21:24:43 +12:00
Carsten "Tomcat" Book f918af64da Backed out 16 changesets (bug 1288618) for bustage on a CLOSED TREE
Backed out changeset 06187d250f7a (bug 1288618)
Backed out changeset 2a47f8ea1d89 (bug 1288618)
Backed out changeset e179c8e8265d (bug 1288618)
Backed out changeset 25396a1af922 (bug 1288618)
Backed out changeset e98f835c6ee5 (bug 1288618)
Backed out changeset 24df0e89b273 (bug 1288618)
Backed out changeset f8bbdabdb6da (bug 1288618)
Backed out changeset 8b0adeab93df (bug 1288618)
Backed out changeset 95f23366de82 (bug 1288618)
Backed out changeset 63a9c689e1d5 (bug 1288618)
Backed out changeset 8f67443dccb8 (bug 1288618)
Backed out changeset 4e7fe69d5f45 (bug 1288618)
Backed out changeset 53b113acee42 (bug 1288618)
Backed out changeset 2583ae4e2e3b (bug 1288618)
Backed out changeset 75a61d0e71b7 (bug 1288618)
Backed out changeset da740b4fd484 (bug 1288618)
2016-09-21 08:44:11 +02:00
Matt Woodrow 97147af527 Bug 1288618 - Part 7: Initialize AbstractThread in the GPU process. r=dvander
--HG--
extra : rebase_source : fd702b96f36645a2b0d8a7a4e4afc74c063a68c4
2016-09-21 15:36:09 +12:00
Carsten "Tomcat" Book 6155a378e7 Backed out changeset 30e2b2eea845 (bug 1288618) 2016-09-15 16:34:09 +02:00
Matt Woodrow 0f949621e5 Bug 1288618 - Part 7: Initialize AbstractThread in the GPU process. r=dvander 2016-09-15 23:17:59 +12:00
Christian Holler (:decoder) 3c7149e85d Bug 1289194 - Experimental LibFuzzer integration. r=glandium
MozReview-Commit-ID: 9njDcbltyow

--HG--
extra : rebase_source : 774d25f2ac4e4b1a876e48159333188bc722f940
2016-09-01 15:07:01 +02:00
Jan de Mooij 7f794780e0 Bug 1302448 part 2 - Rename XPCJSRuntime to XPCJSContext. r=mrbkap
--HG--
rename : js/xpconnect/src/XPCJSRuntime.cpp => js/xpconnect/src/XPCJSContext.cpp
extra : rebase_source : e6b435ab1ca2739e340669195dff77c561ea573e
2016-09-14 15:48:17 +02:00
Andrew McCreight f9e6d19361 Bug 1299934 - Run shutdown collection in workers in opt builds. r=froydnj,smaug
We skip running shutdown collection on the main thread, because we're
exiting right after, but the process still continues when we shut down
a worker, so we should always do collections there.

MozReview-Commit-ID: IQZItm1qWXW

--HG--
extra : rebase_source : 4fd89e36db124a524c240e806a885dee3b68979e
2016-09-08 13:04:30 -07:00
Makoto Kato 893f6698da Bug 1180684 - Part 1. Analyze MOV with GS. r=aklotz
Allow MOV with GS prefix on x64.  Windows 10 uses this opcode on GetKeyState().

MozReview-Commit-ID: CqDSxmWdkiH

--HG--
extra : rebase_source : aa83b2b4c141730eb89f29cad61af79e66cb7a71
2016-09-07 16:15:58 +09:00
Sebastian Hengst a66df0b0c2 Backed out changeset 95e68b473e91 (bug 1289194) for failure to process moz.build file. r=backout a=backout
MozReview-Commit-ID: GhfzNoiE808
2016-09-07 18:45:40 +02:00
Christian Holler (:decoder) 055c4fb1dd Bug 1289194 - Experimental LibFuzzer integration. r=glandium
--HG--
extra : histedit_source : a632f3ff76e07562d1854bc68b50499e4b4667a0
2016-09-01 15:07:01 +02:00
Nicholas Nethercote 819433bae0 Bug 1299389 - Replace some raw pointers in nsThreadManager. r=froydnj.
nsThreadManager::get() can return a reference. This lets us remove some
redundant assertions.

nsThreadArray elements can be NotNull<>s.

--HG--
extra : rebase_source : fd49010167101bc15f7f6d01bf95fd63b81d60fb
2016-06-10 16:04:49 +10:00
Nicholas Nethercote c2306345d5 Bug 1297658 - Avoid unnecessary checking in memory reporters. r=erahm.
This patch removes checking of all the callback calls in memory reporter
CollectReport() functions, because it's not useful.

The patch also does some associated clean-up.

- Replaces some uses of nsIMemoryReporterCallback with the preferred
  nsIHandleReportCallback typedef.

- Replaces aCallback/aCb/aClosure with aHandleRepor/aData for CollectReports()
  parameter names, for consistency.

- Adds MOZ_MUST_USE/[must_use] in a few places in nsIMemoryReporter.idl.

- Uses the MOZ_COLLECT_REPORT macro in all suitable places.

Overall the patch reduces code size by ~300 lines and reduces the size of
libxul by about 37 KiB on my Linux64 builds.

--HG--
extra : rebase_source : e94323614bd10463a0c5134a7276238a7ca1cf23
2016-08-24 15:23:45 +10:00
Matthew Gregan 94df8b79e6 Bug 1296988 - Update libnestegg. r=rillian 2016-08-25 13:49:22 +12:00
David Anderson 424b5eb180 Initialize nsAppShell in the GPU process. (bug 1294350 part 5, r=nfroyd) 2016-08-22 22:57:36 -07:00
David Anderson 9495e20273 Enable nsComponentManager in the GPU process. (bug 1294350 part 4, r=nfroyd) 2016-08-22 22:57:36 -07:00
David Anderson 3f96d36cdd Initialize a subset of XPCOM in the GPU process. (bug 1294350 part 3, r=froydnj) 2016-08-22 22:57:36 -07:00
Jan de Mooij 0ad12515f4 Bug 1292892 part 1 - Stop using JSRuntime outside SpiderMonkey. r=bz,terrence,fitzgen,kanru 2016-08-11 14:39:22 +02:00
Nicholas Nethercote bab6d17ebf Bug 1293117 (part 4) - Change many NS_IMETHODIMP occurrences to NS_IMETHOD. r=froydnj.
This patch makes the following changes on many in-class methods.

- NS_IMETHODIMP F() override;      --> NS_IMETHOD F() override;
- NS_IMETHODIMP F() override {...} --> NS_IMETHOD F() override {...}
- NS_IMETHODIMP F() final;         --> NS_IMETHOD F() final;
- NS_IMETHODIMP F() final {...}    --> NS_IMETHOD F() final {...}

Using NS_IMETHOD is the preferred way of marking in-class virtual methods.
Although these transformations add an explicit |virtual|, they are safe --
there's an implicit |virtual| anyway because |override| and |final| only work
with virtual methods.

--HG--
extra : rebase_source : 386ee4e4ea2ecd8d5001efabc3ac87b4d6c0659f
2016-08-08 10:54:47 +10:00
Jim Mathies 118ac04293 Bug 1286306 - Add an app info property exposing the state of the Windows dll blocklist, and test the value during browser test runs. r=bsmedberg
MozReview-Commit-ID: H7206wTh8YM
2016-07-27 15:20:58 -05:00
Yura Zenevich 7d6abb5975 Bug 527003 - separating XPCOM parts from nsAccessibilityService. Removing a11y service in favour of using nsAccessibilityService directly. Adding support for a11y service shutdown. r=surkov
MozReview-Commit-ID: KKeywNi3fQb
2016-08-08 20:51:39 -04:00
Alexandre Lissy 0af5b943b6 Bug 1284674 - Remove NUWA r=cyu
MozReview-Commit-ID: GyMRNzOBKw6

--HG--
extra : rebase_source : 293af1cd55f2035ce6a99f4ebf144059c32a2b8f
2016-08-02 14:54:00 +02:00
Carsten "Tomcat" Book 336105a0de merge mozilla-inbound to mozilla-central a=merge 2016-07-22 11:58:02 +02:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Xidorn Quan 76db18facb Bug 1284406 part 3 - Export ICU headers in include/unicode. r=glandium
MozReview-Commit-ID: FuwAgEGjhxm

--HG--
extra : source : c07ceab42b47b18a1e8d436e7c888bdd113575fa
2016-07-20 15:00:13 +10:00
Andrew McCreight 4f63d0eaf2 Bug 1287623, part 2 - Use StaticRefPtr for nsDirectoryService::gService. r=froydnj 2016-07-21 09:54:16 -07:00
Wes Kocher 3bba9b339e Backed out 5 changesets (bug 1287623) for static build bustage CLOSED TREE
Backed out changeset a48daec87ec9 (bug 1287623)
Backed out changeset 248153344e15 (bug 1287623)
Backed out changeset 8aa409c9b1ce (bug 1287623)
Backed out changeset 602d4d88e806 (bug 1287623)
Backed out changeset 114da8bdc0b0 (bug 1287623)
2016-07-20 15:40:33 -07:00
Andrew McCreight 07f2ce5ee2 Bug 1287623, part 2 - Use StaticRefPtr for nsDirectoryService::gService. r=froydnj 2016-07-20 15:19:00 -07:00
Sotaro Ikeda f731d220ed Bug 1252835 - Make TextureHost recycling implicit r=nical 2016-06-15 04:28:10 -07:00
David Anderson 52270601eb Add GeckoProcessType_GPU. (bug 1271180 part 3, r=billm)
--HG--
extra : rebase_source : e983b161bf4d26dfc0de0e0da523a66ab25d7baa
2016-06-10 21:54:44 -04:00
Phil Ringnalda 5e0adb7d56 Back out 5 changesets (bug 1271180) for static analysis bustage
CLOSED TREE

Backed out changeset cfb53b780b18 (bug 1271180)
Backed out changeset 204b084385f8 (bug 1271180)
Backed out changeset 353da876be33 (bug 1271180)
Backed out changeset 4472dfbc1dc6 (bug 1271180)
Backed out changeset 81079e787b8a (bug 1271180)

--HG--
rename : ipc/glue/TaskFactory.h => dom/plugins/ipc/TaskFactory.h
2016-06-11 00:46:09 -07:00
David Anderson 39defbc2f7 Add GeckoProcessType_GPU. (bug 1271180 part 3, r=billm)
--HG--
extra : rebase_source : 30353c82c34e03996ff0551330ebe86e2010cbaf
2016-06-10 21:54:44 -04:00
Andrew Swan 1b1d9f5e45 Bug 1270356 Part 1: Add native messaging paths to XRE directory provider r=kmag
MozReview-Commit-ID: 2tjR3r9YySy

--HG--
extra : rebase_source : 1c8da185fd653e91f40cebc5e27ae560a787ef8e
extra : source : 77a30c81f8e830676a23da91b87ab78cda93a4d0
2016-05-12 11:39:27 -07:00
Kyle Huey b42f297a3a Bug 1273683: Purge any evidence that dougt could write code. r=dougt 2016-06-06 06:51:16 -07:00
Jed Davis 78e49e2efb Bug 1114647 - Use firefox for child processes instead of plugin-container. r=ted
Disabled on Mac (content processes need to use plugin-container.app for
UI reasons) and on Linux unless --disable-sandboxing (build issues).

Based on work by George Wright <george@mozilla.com>.

--HG--
extra : amend_source : 43986e25743de21e3ddfb7893e3ed550fe6eef76
2016-06-03 12:49:39 -07:00
Bobby Holley 3eec1c3284 Bug 1275755 - Use an explicit init routine for the atom table. r=froydnj 2016-05-28 17:08:05 +01:00
Stephen Pohl ffe0bf3496 Bug 1027651: Fix comment for XRE_UPDATE_ROOT_DIR. r=rstrong 2016-05-24 22:26:09 -04:00
Bob Owen e809e9f918 Bug 1035125 Part 9: Link Chromium sandbox into firefox.exe instead of having a separate DLL. r=aklotz,glandium
MozReview-Commit-ID: 1vgDPjpcwz3

--HG--
extra : rebase_source : 40966d98ca6c37f30884639d648907b4760ae240
2016-05-15 16:41:40 +01:00
Bob Owen c43bf02cda Bug 1035125 Part 8: Pass sandboxing pointers through XRE_InitChildProcess instead of linking to more functions in xul. r=aklotz,glandium
MozReview-Commit-ID: 5AiktOArpfU

--HG--
extra : rebase_source : 1ba3be949e2bfeb3b67687ab05d43342852ab764
2016-05-15 16:35:22 +01:00
Chris Peterson 8a9e2d2bd4 Bug 1272513 - Part 2: Remove redundant -Wshadow CXXFLAGS from moz.build files. r=glandium 2016-05-14 00:54:55 -07:00
Nathan Froyd 9b00f3e468 Bug 1262399 - remove Impl suffixes from nsSupports* implementations; r=mccr8
Having the Impl suffix isn't really necessary, and if we start creating
instances of these classes directly, it's also rather ugly.  Let's get
rid of them.
2016-05-03 15:25:41 -05:00
Jim Chen 93b208fc7e Bug 1265621 - Expose outer zip readers in Omnijar::GetReader; r=froydnj
Previously, Omnijar::GetReader(nsIFile*) returned nullptr when using
nested jars. This patch makes it return the outer jar reader in that
case, so we don't end up opening the outer jar file again.
2016-04-28 16:07:02 -04:00
Jim Chen a32009c9cc Bug 1265621 - Use StaticRefPtr in Omnijar.cpp; r=froydnj
Use StaticRefPtr instead of raw pointers in Omnijar.cpp for convenience
and safety.
2016-04-28 16:07:02 -04:00
Nicholas Nethercote dbc9af380e Bug 1262731 - Add JS_InitWithFailureDiagnostic(). r=sfink.
This will help identify the cause of some Firefox start-up crashes when JS
initialization fails.

--HG--
extra : rebase_source : 3ed3c5e60f487e0ca11dc13bab93aa820ca8273f
2016-04-08 09:08:49 +10:00
Ted Mielczarek 58e2e722d0 bug 1239083 - use moz.build files to build ICU. r=glandium,waldo
Also fixes bug 926980 - load ICU data from an archive file.

Stop invoking ICU's autoconf build system. Instead, have hand-authored
moz.build files under config/external/icu to build what we need. In addition,
we'll commit a pre-built copy of the ICU data file (currently icudt56l.dat)
under config/external/icu/data to avoid having to build ICU host tools to
generate it. config/external/icu/data also contains some assembly files
which can generate an object file containing the ICU data file contents
so that the JS shell (or standalone JS builds) can be linked directly to
the data without having to deal with the external data file. This requires
yasm or GNU as.

Various bits of packaging have been updated to account for the ICU data file.
XPCOM initialization now sets the ICU data directory so ICU can locate its
data file.

The update-icu.sh script has been modified to read the list of C/C++ source
files out of the ICU Makefiles and update `sources.mozbuild` files under
config/external/icu, as well as build a local copy of ICU using its
autoconf build system to generate the ICU data file to be committed in-tree.


MozReview-Commit-ID: 8Pfkzqt6S1W

--HG--
extra : rebase_source : 31426cddddb5543e0191059ba2f2eb069abe7727
2016-04-05 10:09:12 -04:00
Kyle Huey 29596ecfff Bug 1258908: Rename TYPE_MOZILLA_UI to TYPE_MOZILLA_PARENT. r=jld 2016-03-28 10:28:14 -07:00