Commit Graph

97 Commits

Author SHA1 Message Date
Cosmin Sabou
1f03c5075f Backed out changeset ca88862d6b63 (bug 1558915) for causing build bustages on StartupCacheUtils. CLOSED TREE 2019-08-07 13:20:32 +03:00
Tom Schuster
d2142a7020 Bug 1558915 - Use infallible nsIURI::SchemeIs in various places r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D40677
2019-08-07 09:36:56 +00:00
Razvan Maries
b95c923ca6 Backed out changeset b197ca57677a (bug 1558915) for build bustages. CLOSED TREE 2019-08-07 01:04:43 +03:00
Tom Schuster
70c09c881c Bug 1558915 - Use infallible nsIURI::SchemeIs in various places r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D40677
2019-08-06 20:19:41 +00:00
Tom Ritter
8ceb7d4934 Bug 1539595 - Rename Priveleged Content Process to PrivlegedAbout Content Process r=mconley,flod
We do this because we will be introducing more privileged content processes
and we want to be able to distinguish them.

Differential Revision: https://phabricator.services.mozilla.com/D30274
2019-05-29 11:31:31 +00:00
Sebastian Hengst
3a5c93d421 Backed out 4 changesets (bug 1539595) for build bustage in nsAboutRedirector.cpp. CLOSED TREE
Backed out changeset 2b0bb889b087 (bug 1539595)
Backed out changeset 95f0b82ec253 (bug 1539595)
Backed out changeset 6310e6dabceb (bug 1539595)
Backed out changeset ba3e353c6957 (bug 1539595)
2019-05-28 19:49:17 +02:00
Tom Ritter
62be8b57fc Bug 1539595 - Rename Priveleged Content Process to PrivlegedAbout Content Process r=mconley,flod
We do this because we will be introducing more privileged content processes
and we want to be able to distinguish them.

Differential Revision: https://phabricator.services.mozilla.com/D30274
2019-05-28 14:19:11 +00:00
Sylvestre Ledru
fbb733807d Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D28948
2019-04-28 09:30:05 +00:00
Kris Maglione
e8e0f3029d Bug 1526086: Fix possible shutdown deadlock when writing preloader cache. r=erahm
There are currently some odd circumstances where we deadlock waiting for the
background save thread to finish while it is blocked on sync dispatch to the
main thread during shutdown.

There were existing workarounds to prevent this, which tried to synchronously
complete the main thread work required by the background thread at the start
of shutdown, and some fallback anti-deadlock assertions to catch any remaining
corner cases, but apparently Fennec has corner cases of its own that we didn't
anticipate.

This patch takes the more straightforward route of using an async shutdown
blocker, which allows the async shutdown service to safely spin the event loop
until the save completes, rather than an independent monitor loop, which does
not.

It also fixes a potential data race where the save thread could clear its
mSaveThread member before NS_NewNamedThread returned, running afoul of
nsCOMPtr sanity checks.

Differential Revision: https://phabricator.services.mozilla.com/D28127
2019-04-18 13:11:22 -07:00
Jeff Walden
36be0bb2c8 Bug 1533636 - Don't bother explicitly aligning when XDRing char16_t data: the operations we use to perform the little/native-endian conversion will correctly translate into, or translate out of, unaligned memory. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D22654
2019-03-06 13:36:47 -08:00
Doug Thayer
dd21dd3e06 Bug 1364235 - Collect telemetry stats on startup cache hits and misses r=kmag
In bug 1264235 we have some indication that observed bugs with the
startup cache might have been resolved, but we don't really know
until we collect data. Collecting these stats will give us the
ability to have more certainty that the startup cache is functioning
correctly in the wild.

Differential Revision: https://phabricator.services.mozilla.com/D19573
2019-03-05 16:52:57 +00:00
Ryan Hunt
ab5f7e02dc Bug 1523969 part 13 - Move method definition inline comments to new line in 'js/'. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D21114
2019-02-25 16:09:04 -06:00
Emilio Cobos Álvarez
dc336a73ba Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Tooru Fujisawa
5ef6d9cc06 Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
Benjamin Bouvier
5e1b39e9bd Bug 1511383: Update vim modelines after clang-format; r=sylvestre
- modify line wrap up to 80 chars; (tw=80)
- modify size of tab to 2 chars everywhere; (sts=2, sw=2)
2018-11-30 16:39:55 +01:00
Sylvestre Ledru
e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Eric Rahm
72bcabdc80 Bug 1494827 - Add USS telemetry for content process startup. r=kmag
This adds telemetry for content processes' USS memory usage on startup.
2018-09-27 18:13:05 -07:00
Jan de Mooij
65596de1e2 Bug 1490600 - Always use braces for if/for/while statements in js/xpconnect/loader. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D5651
2018-09-12 18:14:49 +00:00
Jan de Mooij
a048c05bca Bug 1479363 part 6 - Use JSAutoRealm instead of JSAutoRealmAllowCCW in js/xpconnect/loader. r=kmag 2018-08-02 08:49:10 +02:00
Jan de Mooij
fddc23c346 Bug 1478955 part 1 - Rename JSAutoRealm to JSAutoRealmAllowCCW. r=luke 2018-07-28 12:12:26 +02:00
imjching
020a1407fc Bug 1416066 - Make ScriptPreloader wait for content-document-loaded to fire before writing cache for privileged processes. r=kmag,mconley
MozReview-Commit-ID: 2ElKqWN0clm
2018-06-22 17:29:08 -04:00
imjching
a3917b837b Bug 1416066 - Delay initialization of sProcessType for child processes in ScriptPreloader since remoteType in ContentChild is not ready yet. r=kmag
MozReview-Commit-ID: FTmQMbKhlR
2018-06-22 17:07:12 -04:00
imjching
7f3071b50b Bug 1416066 - Set default ProcessType in ScriptPreloader to Uninitialized and update version of startup script cache file. r=kmag
MozReview-Commit-ID: FbpMLqrFSIq
2018-06-22 16:58:22 -04:00
Kris Maglione
2c48dee1b6 Bug 1472495: Don't report shared memmapped cache as explicit memory. r=erahm
MozReview-Commit-ID: 7xWJOdg3mfg
2018-06-30 16:33:50 -07:00
Kris Maglione
778a9b070d Bug 1471091: Follow-up: Fix crash in devtools tests when they execute process scripts multiple times. r=bustage 2018-07-07 13:15:44 -07:00
Kris Maglione
2e3cb6e687 Bug 1471091: Avoid cloning and caching process scripts. r=mccr8
We only run process scripts once per process, so there's no need to compile
them for the compilation scope, or to keep a separate cloned copy alive for
the length of the session.

This patch changes the caching behavior of message managers to compile
single-use scripts directly for the target global, and avoid caching them for
the rest of the session. It also changes the preloader to drop references to
these scripts after they've been executed and/or encoded, as appropriate.

MozReview-Commit-ID: EfKo2aYbBxl
2018-06-29 18:07:46 -07:00
Cosmin Sabou
7fbf02dcb7 Merge mozilla-central to mozilla-inbound. a=merge 2018-06-28 13:13:46 +03:00
Cosmin Sabou
bb987de702 Merge mozilla-inbound to mozilla-central. a=merge 2018-06-28 13:04:23 +03:00
imjching
8eeb1463f7 Bug 1469072 - Add infrastructure to move Activity Stream into its own content process. r=kmag,mconley
Summary:
This patch adds the infrastructure to move Activity Stream (about:newtab, about:home,
and about:welcome) into its own special content process - the privileged content
process. This feature of running Activity Stream in the privileged content process
is disabled by default. (See "browser.tabs.remote.separatePrivilegedContentProcess"
preference.) We can deal with other about: pages in a follow-up.

Reviewers: mconley

Tags: #secure-revision

Bug #: 1469072

Differential Revision: https://phabricator.services.mozilla.com/D1731

MozReview-Commit-ID: 5gIrP4LxcIt
2018-06-20 14:04:51 -04:00
Kris Maglione
99eae9428a Bug 1442737: Use shared JSM global for compilation and privileged junk scopes. r=bholley
MozReview-Commit-ID: 3rLgxQVtc0X
2018-06-24 19:16:33 -07:00
Kris Maglione
e92fe7dd75 Bug 1470793: Stop eagerly XDR encoding scripts in the preloader cache. r=erahm
MozReview-Commit-ID: 2e85c34zt8v
2018-06-24 18:37:50 -07:00
Kris Maglione
58c9a5b697 Bug 1471089: Improve handling of pre-loaded content processes in script preloader. r=erahm
MozReview-Commit-ID: GwZzQ0ic5Et
2018-06-25 17:45:34 -07:00
Coroiu Cristina
e15bcf3b8d Backed out changeset a1db50f691f0 (bug 1442737) for frequent mochitest failures on e.g: dom/workers/test/browser_fileURL.js 2018-06-27 10:58:48 +03:00
Kris Maglione
9eab35e0d2 Bug 1442737: Use shared JSM global for compilation and privileged junk scopes. r=bholley
MozReview-Commit-ID: 3rLgxQVtc0X
2018-06-24 19:16:33 -07:00
Margareta Eliza Balazs
c4f6a67ce5 Backed out changeset 8477472996e0 (bug 1442737) for frequent mochitest failures e.g.: toolkit/components/alerts/test/test_principal.html 2018-06-26 11:28:50 +03:00
Kris Maglione
587e2b56af Bug 1442737: Use shared JSM global for compillation and privileged junk scopes. r=bholley
MozReview-Commit-ID: 3rLgxQVtc0X
2018-06-24 19:16:33 -07:00
Mike Conley
4555630280 Bug 1458375 - Make ScriptPreloader wait until browser-idle-startup-tasks-finished before writing cache. r=kmag
Originally, the ScriptPreloader stopped recording and wrote its cache when the
browser-delayed-startup-finished notification fired for the first window, but there
are other scripts (both in the content and WebExtension processes) that might run
soon after that we also want to cache.

This patch still makes the parent process stop recording scripts after
browser-delayed-startup-finished, but only prepares and writes the cache
once browser-idle-startup-tasks-finished fires, when it is much more likely
that the content and WebExtension caches are ready to go.

MozReview-Commit-ID: KiBEVvuqQkA
2018-06-11 12:19:02 -07:00
Emilio Cobos Álvarez
6100dee429 Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj
Same approach as the other bug, mostly replacing automatically by removing
'using mozilla::Forward;' and then:

  s/mozilla::Forward/std::forward/
  s/Forward</std::forward</

The only file that required manual fixup was TestTreeTraversal.cpp, which had
a class called TestNodeForward with template parameters :)

MozReview-Commit-ID: A88qFG5AccP
2018-06-02 09:33:26 +02:00
Emilio Cobos Álvarez
4b8b5e1717 Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Kris Maglione
cd8e701606 Bug 1461062: Follow-up: Fix rebase bustage. r=bustage CLOSED TREE
MozReview-Commit-ID: 2fjL5eCL2xP
2018-05-16 19:07:01 -07:00
Jan de Mooij
e5f8a28c84 Bug 1461292 part 1 - Rename JSAutoCompartment to JSAutoRealm. r=bz,luke 2018-05-16 10:53:16 +02:00
Jon Coppeard
efc5172935 Bug 1456774 - Remove linear search for finished parse task and type off thread parse token r=jandem r=baku 2018-05-10 14:51:14 +01:00
Nika Layzell
b4c313c43d Bug 1437167 - Part 1: Stop using PRIntervalTime as the argument to CondVar::Wait and Monitor::Wait, r=mstange, r=froydnj 2018-04-10 17:49:47 -04:00
Nicolas B. Pierron
fe140030ae Bug 1401939 - Align XDR content to avoid undefined behaviours. r=kmag,tcampbell 2018-03-13 18:00:50 +00:00
Brindusan Cristian
376795eb66 Backed out changeset 294a422d49b0 (bug 1401939) for sm-arm64 failures on /builds/worker/workspace/build/src/js/src/vm/Xdr.cpp CLOSED TREE 2018-03-12 20:55:23 +02:00
Nicolas B. Pierron
f73c483191 Bug 1401939 - Align XDR content to avoid undefined behaviours. r=kmag,tcampbell 2018-03-12 18:23:13 +00:00
Jan de Mooij
e6e5785154 Bug 1417844 part 2 - Remove JSVersion from CompileOptions, CompartmentBehaviors, scripts. r=evilpie 2017-11-17 12:12:39 +01:00
Kris Maglione
ea93b331a7 Bug 1404741: Don't call mozJSComponentLoader::CompilationScope during URLPreloader critical section. r=mccr8
The URLPreloader's initialization code accesses the Omnijar cache off-main
thread. It can do so safely only as long as the main thread is blocked, or
running code which is guaranteed never to touch Omnijar, while its critical
section runs.

While that was guaranteed for previous versions of the code, some invariants
changed when we began using the component loader's shared global for initial
compilation. Once the global is created, we can safely use it to initialize
compilation. But creating the global invokes a large amount of Gecko code,
some of which touches Omnijar in the process.

MozReview-Commit-ID: 48WoIZtGPTo
2017-10-06 15:09:11 -07:00
Kris Maglione
6c85315b2b Bug 1396366: Make sure the URLPreloader cache is only written once. r=erahm
MozReview-Commit-ID: FA1BPQ5c6nP
2017-09-08 13:44:32 -07:00
Kris Maglione
78be6708ac Bug 1381976: Part 1 - Use the shared module global for script pre-compilation. r=mccr8
When we pre-compile scripts for a different global than they are eventually
executed in, we need to clone them into the new global before we can execute
them, which can be expensive. This also prevents us from using lazy parsing,
since lazy functions are currently eagerly compiled when cloned.

Since the vast majority of the scripts compiled by the preloader are executed
in the shared modules scope, initially compiling them there removes a lot of
startup overhead. For the few that aren't, we don't lose anything by compiling
them in the shared module global, but we also don't gain anything over
compiling them in the XPConnect compilation scope.

MozReview-Commit-ID: CEh42BmIMhL
2017-08-25 19:36:44 -07:00