Commit Graph

83 Commits

Author SHA1 Message Date
Kan-Ru Chen
fec6124d1c 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
2017-04-19 13:24:09 +08:00
Sebastian Hengst
5ac4ae16c8 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
59eb6b3050 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
Nicholas Nethercote
3bb1eba8e6 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.
2017-03-09 17:06:35 +11:00
Eric Rahm
62c4add546 Bug 792209 - Remove nsISupportsArray. r=froydnj
MozReview-Commit-ID: G28VUoYj9Wj
2016-11-17 11:45:41 -08:00
Nicholas Nethercote
8d634015e3 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.
2017-02-15 17:08:38 +11:00
Bill McCloskey
b0bba0c768 Bug 1337537 - Make a SystemGroup singleton (r=ehsan)
MozReview-Commit-ID: Jnwrr49daeM
2017-02-13 17:02:52 -08:00
Tom Tromey
f29ec66f4b Bug 1324434 - remove JS_GetCurrentEmbedderTime in favor of TimeStamp; r=sfink
MozReview-Commit-ID: CG0MidpH8k3
2016-12-19 08:23:59 -07:00
Chris Peterson
ec64a5b9f4 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
2017-01-12 01:13:55 -08:00
Chris Peterson
84f6950c2d 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
2017-01-14 01:12:02 -08:00
Nathan Froyd
310b207f94 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
d2434a7cc6 Bug 1333296 (part 1) - Rename MOZ_ENABLE_PROFILER_SPS as MOZ_GECKO_PROFILER. r=mstange,glandium. 2017-01-24 14:15:12 +11:00
Nicholas Nethercote
c1b079c8b7 Bug 1332577 (part 7) - Rename mozilla_get_pseudo_stack() as profiler_get_pseudo_stack(). r=mstange.
This makes it consistent with other profiler functions.
2017-01-20 15:07:05 +11:00
Nathan Froyd
a580d69d1f 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
Tomislav Jurin
9ff3007b90 Bug 1296189 - Replace NS_RUNTIMEABORT("some string literal message") with MOZ_CRASH(). r=froydnj 2016-12-02 13:46:53 -08:00
Eric Rahm
6ba6ab16cc 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
Matt Woodrow
1839f94276 Bug 1314191 - Make sure we shut down VideoDecoderManagerChild before threads go away. r=dvander 2016-11-03 09:57:17 +13:00
David Anderson
0a5dfa94c3 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
16f8a8bdeb Bug 1308363 - Remove GONK specific code from gfx/. r=jrmuizel,sotaro 2016-10-27 13:17:10 +13:00
David Anderson
e117502b28 Ensure the hang monitor is enabled in the GPU process. (bug 1311716, r=billm) 2016-10-24 01:07:54 -07:00
Matt Woodrow
06c7c41e6c Bug 1300682 - Part 6: Use SharedThreadPool for GPU process decoders. r=dvander 2016-10-07 21:13:33 +13:00
Byron Campen [:bwc]
624a10a269 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
2016-07-20 15:16:40 -05:00
Matt Woodrow
f397ea2b53 Bug 1288618 - Part 7: Initialize AbstractThread in the GPU process. r=dvander 2016-09-21 21:24:43 +12:00
Carsten "Tomcat" Book
e2adb4a537 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
0cc7a8f0cb Bug 1288618 - Part 7: Initialize AbstractThread in the GPU process. r=dvander 2016-09-21 15:36:09 +12:00
Carsten "Tomcat" Book
3788e4f6c5 Backed out changeset 30e2b2eea845 (bug 1288618) 2016-09-15 16:34:09 +02:00
Matt Woodrow
05df28a06a Bug 1288618 - Part 7: Initialize AbstractThread in the GPU process. r=dvander 2016-09-15 23:17:59 +12:00
Jan de Mooij
21f6f04f90 Bug 1302448 part 2 - Rename XPCJSRuntime to XPCJSContext. r=mrbkap 2016-09-14 15:48:17 +02:00
Andrew McCreight
0509c2e4d3 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
2016-09-08 13:04:30 -07:00
Nicholas Nethercote
d62d70da42 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.
2016-06-10 16:04:49 +10:00
Nicholas Nethercote
1009bf0056 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.
2016-08-24 15:23:45 +10:00
Matthew Gregan
3cb3e7021c Bug 1296988 - Update libnestegg. r=rillian 2016-08-25 13:49:22 +12:00
David Anderson
d8d38b281e Initialize nsAppShell in the GPU process. (bug 1294350 part 5, r=nfroyd) 2016-08-22 22:57:36 -07:00
David Anderson
8a83cca501 Enable nsComponentManager in the GPU process. (bug 1294350 part 4, r=nfroyd) 2016-08-22 22:57:36 -07:00
David Anderson
59ed5369f0 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
bd0f1c9018 Bug 1292892 part 1 - Stop using JSRuntime outside SpiderMonkey. r=bz,terrence,fitzgen,kanru 2016-08-11 14:39:22 +02:00
Nicholas Nethercote
0550795f93 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.
2016-08-08 10:54:47 +10:00
Andrew McCreight
bc6407b598 Bug 1287623, part 2 - Use StaticRefPtr for nsDirectoryService::gService. r=froydnj 2016-07-21 09:54:16 -07:00
Wes Kocher
971937eaaf 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
e5b9a22a57 Bug 1287623, part 2 - Use StaticRefPtr for nsDirectoryService::gService. r=froydnj 2016-07-20 15:19:00 -07:00
Sotaro Ikeda
cc18201e0b Bug 1252835 - Make TextureHost recycling implicit r=nical 2016-06-15 04:28:10 -07:00
Kyle Huey
ee23db1ba7 Bug 1273683: Purge any evidence that dougt could write code. r=dougt 2016-06-06 06:51:16 -07:00
Bobby Holley
dc33f42e7a Bug 1275755 - Use an explicit init routine for the atom table. r=froydnj 2016-05-28 17:08:05 +01:00
Nathan Froyd
fa642c6e39 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
Nicholas Nethercote
ddf758a840 Bug 1262731 - Add JS_InitWithFailureDiagnostic(). r=sfink.
This will help identify the cause of some Firefox start-up crashes when JS
initialization fails.
2016-04-08 09:08:49 +10:00
Ted Mielczarek
c3f09a5f6d 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
2016-04-05 10:09:12 -04:00
Kyle Huey
a18bea2ae6 Bug 1258908: Rename TYPE_MOZILLA_UI to TYPE_MOZILLA_PARENT. r=jld 2016-03-28 10:28:14 -07:00
David Anderson
7b7cd394cc Rename PCompositor to PCompositorBridge. (bug 1258479 part 2, r=mattwoodrow) 2016-03-22 14:08:38 -04:00
Andrew McCreight
b071600574 Bug 1245513 - Use _exit(0) to exit in B2G debug content processes. r=froydnj
This skips destructors, so hopefully it avoids some odd behaviors.
2016-02-03 10:00:11 -08:00
Andrew McCreight
0b150c92a1 Bug 1242119 - Remove early exit in WinXP debug content processes. r=froydnj
This was disabled because it was causing intermittent failures in a
test, but that failure seems to have stopped.

This will cause us to start doing leak checking in content processes
on Windows XP.
2016-02-03 07:28:27 -08:00