Commit Graph

18077 Commits

Author SHA1 Message Date
Gurzau Raul
bdfd20ef30 Merge inbound to mozilla-central. a=merge 2018-07-24 18:48:01 +03:00
Gurzau Raul
46679701af Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-24 12:54:45 +03:00
Gurzau Raul
f2e1e857f1 Merge inbound to mozilla-central. a=merge 2018-07-24 12:49:23 +03:00
Hiroyuki Ikezoe
ea2e577fa3 Bug 1365045 - Introduce keywords for prefers-reduced-motion. r=heycam
https://drafts.csswg.org/mediaqueries-5/#prefers-reduced-motion

MozReview-Commit-ID: RQUo1DBR0W
2018-07-24 16:50:47 +09:00
Kris Maglione
1814a2510f Bug 1477512: Follow-up: Un-inline ThreadEventQueue::SizeOfExcludingThis. r=me
--HG--
extra : amend_source : 0e611892cc6d9133ffc7ccc41cd14a7348d7c5b3
2018-07-23 23:17:12 -07:00
Nicholas Nethercote
e6f8df84ad Bug 1477622 - Add microbenchmarks measuring hash table performance. r=froydnj
--HG--
extra : rebase_source : 2d76bfcb862b3b690ea8db2b5b007dde2a90f914
2018-07-24 10:38:43 +10:00
Kris Maglione
3869956f6e Bug 1477579: Follow-up: Also skip stack allocation assertion on Android. r=me DONTBUILD 2018-07-23 19:25:00 -07:00
Kris Maglione
7aa3564a28 Bug 1477579: Part 3 - Avoid duplicating static strings in category manager entries. r=froydnj
Much like the component manager, many of the strings that we use for category
manager entries are statically allocated. There's no need to duplicate these
strings.

This patch changes the category manager APIs to take nsACStrings rather than
raw pointers, and to pass literal nsCStrings when we know we have a literal
string to begin with. When adding the category entry, it then skips making
copies of any strings with the LITERAL flag.

MozReview-Commit-ID: EJEcYSdNMWs
***
amend-catman

--HG--
extra : source : aa9a8f18e98f930a3d8359565eef02f3f6efc5f9
extra : absorb_source : 81a22ab26ee8017ac43321ff2c987d8096182d37
2018-07-23 17:41:06 -07:00
Kris Maglione
83b3ac8f23 Bug 1477579: Part 2 - Use nsID* rather than nsID for mFactories hash keys. r=froydnj
Our factory registrations already require that we store nsID pointers, which
we generally handle by using pointers to static data, or arena allocating a
copy of a dynamic ID.

Since we already have viable pointers to these IDs, there's no reason to store
an entire second copy for our hash key. We can use the pointer, instead, which
saves 16 bytes per entry.

MozReview-Commit-ID: 6MgKrXRSHv4

--HG--
extra : source : 5fb0b7746a5d56563b471e3061ccca124ea45485
extra : absorb_source : 275f5d4dc2c02e3d0391ed16e8690dac1e601758
2018-07-21 19:09:25 -07:00
Kris Maglione
b8f2198d8c Bug 1477579: Part 1 - Use literal strings for statically registered contract ID keys. r=froydnj
Most of our components are static, and registered using literal C strings. For
those components, we currently use a nsDependentCString as a key when creating
a hash entry, which leads to an unnecessary duplication. Using literal
CStrings instead avoids the duplication.

MozReview-Commit-ID: 5DOUF8ZQMlh

--HG--
extra : source : 8359f8fe418419c50ab0ed93496e7445b570ba9f
extra : absorb_source : 2a33ae4e7e6d312adcea8ece2158f07a7050e01e
2018-07-22 10:54:56 -07:00
Brindusan Cristian
91a3707d5f Backed out 3 changesets (bug 1477579) for build bustages on xpcshell\selftest.py and crashtest failures on /components/nsComponentManager.cpp. CLOSED TREE
Backed out changeset aa9a8f18e98f (bug 1477579)
Backed out changeset 5fb0b7746a5d (bug 1477579)
Backed out changeset 8359f8fe4184 (bug 1477579)
2018-07-24 04:55:03 +03:00
Kris Maglione
616ee870a3 Bug 1477512: Part 5 - Rearrange the fields of nsThread for better packing. r=erahm
This takes 16 bytes off of the allocated size of each instance.

MozReview-Commit-ID: AhfN6MWvVL1

--HG--
extra : rebase_source : badc6ab690f2c4e0184ac0b51b29f81fb11279c6
extra : absorb_source : 0f685515a6946c89e9467c8b1e8548c989b1907b
extra : histedit_source : 7bfb5db39b23c1d262819c22a6e5fcd884c52504
2018-07-21 16:00:02 -07:00
Kris Maglione
8a135e1872 Bug 1477512: Part 4 - Add memory reporter for thread kernel stack sizes. r=erahm
We don't have a way to determine these at runtime, but for Windows and Linux,
the values are known and predictable.

MozReview-Commit-ID: 57LMJLzl762

--HG--
extra : rebase_source : 415690574116d549171097cb9e33834e4d4a9a4f
extra : absorb_source : 4678306b020999f52dcf770d3907d79f1f38b249
extra : histedit_source : 0d0f3cb62b9f64322876fe568ccd62893e6ad4b1%2Ccaca0524b930cf93608565ec06247aa0f4fee7e2
2018-07-21 15:12:11 -07:00
Kris Maglione
1044b14dd3 Bug 1477512: Part 3 - Add memory reporter for thread heap overhead. r=erahm
This adds reporting for heap overhead from nsThread and PRThread wrappers, as
well as thread event queues. It does not, currently, include overhead from
PlatformThread or js::Thread wrappers.

MozReview-Commit-ID: 6DkvbbkjHXm

--HG--
extra : rebase_source : 79df7172387fa1f952c43b06db644390be6f0d8a
2018-07-21 14:27:15 -07:00
Kris Maglione
7c232c3f91 Bug 1477512: Part 2 - Add memory reporting functions to nsThread. r=erahm
MozReview-Commit-ID: 9wlNLaY9y8I

--HG--
extra : rebase_source : 20e95400be62aa4ec524a00c6ad65aa5fbdd18bd
2018-07-21 14:17:23 -07:00
Kris Maglione
9b66e8f0f3 Bug 1477512: Part 1 - Add memory reporter functions to thread event queues. r=erahm
MozReview-Commit-ID: J4EdwUWfyPK

--HG--
extra : rebase_source : 4731cec2d04531d6b519fc076cb53f962b4f9f6f
2018-07-21 14:16:50 -07:00
Kris Maglione
6d0a3d4c78 Bug 1477512: Part 0 - Remove unused nsThread::mEventObservers array. r=erahm
This was moved out of nsThread in bug 1350432, but some dead code was left
behind.

MozReview-Commit-ID: BOhykHyIEPp

--HG--
extra : rebase_source : 21d4f95a019ba10851fba1efc588d6c2678aed85
2018-07-21 13:21:12 -07:00
Kris Maglione
dfd38a6ac3 Bug 1477579: Part 3 - Avoid duplicating static strings in category manager entries. r=froydnj
Much like the component manager, many of the strings that we use for category
manager entries are statically allocated. There's no need to duplicate these
strings.

This patch changes the category manager APIs to take nsACStrings rather than
raw pointers, and to pass literal nsCStrings when we know we have a literal
string to begin with. When adding the category entry, it then skips making
copies of any strings with the LITERAL flag.

MozReview-Commit-ID: EJEcYSdNMWs
***
amend-catman

--HG--
extra : rebase_source : 4f70e7b296ecf3b52a4892c92155c7c163d424d2
2018-07-23 17:41:06 -07:00
Kris Maglione
fde39b49d5 Bug 1477579: Part 2 - Use nsID* rather than nsID for mFactories hash keys. r=froydnj
Our factory registrations already require that we store nsID pointers, which
we generally handle by using pointers to static data, or arena allocating a
copy of a dynamic ID.

Since we already have viable pointers to these IDs, there's no reason to store
an entire second copy for our hash key. We can use the pointer, instead, which
saves 16 bytes per entry.

MozReview-Commit-ID: 6MgKrXRSHv4

--HG--
extra : rebase_source : 8d41a3fc5bc1ffe88af998bf9a0ba9ac3331a085
2018-07-21 19:09:25 -07:00
Kris Maglione
5302f88f24 Bug 1477579: Part 1 - Use literal strings for statically registered contract ID keys. r=froydnj
Most of our components are static, and registered using literal C strings. For
those components, we currently use a nsDependentCString as a key when creating
a hash entry, which leads to an unnecessary duplication. Using literal
CStrings instead avoids the duplication.

MozReview-Commit-ID: 5DOUF8ZQMlh

--HG--
extra : rebase_source : 57d151df64e29ee756f290e7eb047610b567ef04
2018-07-22 10:54:56 -07:00
Coroiu Cristina
3628e073f1 Merge mozilla-central to inbound a=merge on a CLOSED TREE 2018-07-24 00:46:46 +03:00
Coroiu Cristina
44141cfda4 Merge inbound to mozilla-central a=merge 2018-07-24 00:43:44 +03:00
Brian Hackett
7cb270f8b8 Bug 1465452 Part 9 - Allow warnings and errors to be printed without affecting the recording, r=froydnj.
--HG--
extra : rebase_source : a032f66dfebebd320691d95b54c0925f74030c9d
2018-07-23 14:59:34 +00:00
Brian Hackett
ecc6572b9d Bug 1207696 Part 8f - Ensure that PL and PLD hashtables have consistent iteration order when recording/replaying, r=froydnj.
--HG--
extra : rebase_source : 5ed9fb1339c88f99214bc4159eefa34383263e94
2018-07-23 14:47:55 +00:00
Brian Hackett
52b33afe4e Bug 1207696 Part 7 - Ensure deterministic interaction of GC with CC and object references, r=smaug.
--HG--
extra : rebase_source : 5d9e7ebd1dc242ca648193ed1f27ae91d19006de
2018-07-23 14:46:37 +00:00
Brian Hackett
474e450289 Bug 1207696 Part 5l - Don't trace refcounts while recording or replaying, r=froydnj.
--HG--
extra : rebase_source : 7e410db1606f7b0fedd6a4483da908e6244ec6b5
2018-07-23 14:40:18 +00:00
Brian Hackett
a1fe1635ef Bug 1207696 Part 5k - Don't generate debugger runnables on GC events, r=fitzgen.
--HG--
extra : rebase_source : e514a0190845a6bd7846ff7040457c1677d00ed4
2018-07-23 14:39:48 +00:00
Brian Hackett
da3fee20ba Bug 1207696 Part 5j - Don't add GC events to timelines when recording or replaying, r=mccr8.
--HG--
extra : rebase_source : 1c600ce8918a3b343864c8a3606a4de5d25b87f6
2018-07-23 14:38:49 +00:00
Brian Hackett
a2c32c4529 Bug 1207696 Part 5c - Don't dispatch runnables for GC or finalization when under the GC and recording or replaying, r=mccr8.
--HG--
extra : rebase_source : 6ff636989ac0c053b17b06510350ebc48ecc0096
2018-07-23 14:36:37 +00:00
Brian Hackett
049bcdf766 Bug 1207696 Part 5a - Disable incremental GC when recording or replaying, r=mccr8.
--HG--
extra : rebase_source : a98389408b8aecd95323a7f56f2e286f7f6ce43d
2018-07-23 14:35:17 +00:00
Gurzau Raul
19e302fb18 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-24 12:52:06 +03:00
Jonathan Kingston
3a5e700ad1 Bug 1392710 - Add use counters for marquee events. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D2209

--HG--
extra : moz-landing-system : lando
2018-07-23 22:45:26 +00:00
Cosmin Sabou
fea686b1f6 Backed out 10 changesets (bug 1265824) for causing reftests failures on global-composite-operation.html. CLOSED TREE
Backed out changeset 391c8e7897df (bug 1265824)
Backed out changeset 27c7daabd1a3 (bug 1265824)
Backed out changeset 7c90215a2eca (bug 1265824)
Backed out changeset c141fb67cf9a (bug 1265824)
Backed out changeset 239ab9f9ef52 (bug 1265824)
Backed out changeset 39ae151b3d8c (bug 1265824)
Backed out changeset 71b23fbe1fec (bug 1265824)
Backed out changeset 295dd1a6a09f (bug 1265824)
Backed out changeset 6aecd088e02c (bug 1265824)
Backed out changeset bf9d73b214fc (bug 1265824)
2018-07-23 19:36:37 +03:00
Brindusan Cristian
0e26947580 Backed out changeset 9a8f58cb7315 (bug 1441059) for geckoview failures on multiple files. 2018-07-23 21:03:26 +03:00
Nathan Froyd
0c5c5f4d2f Bug 1468514 - make resizing PLDHashTable smarter; r=erahm
The current code for resizing PLDHashTable modifies the cached hash for
all entries in the old hash table.  This is unnecessary, because we're
going to throw away the old hash table shortly, and inefficient, because
writing to memory we're never going to use again just wastes time and
memory bandwidth.  Instead, let's avoid the write by pulling out the
cached key and doing the necessary manipulation on local variables,
which is probably slightly faster.
2018-07-23 10:30:57 -05:00
Dylan Roeh
fb453eafdf Bug 1441059 - Make nsILoadURIDelegate async to preserve the order of GeckoSession.loadUri() calls. r=snorp,bz
This alters nsILoadURIDelegate.loadURI() to return a Promise rather than spinning the event loop to synchronously return a boolean, and alters nsDocShell::InternalLoad to allow for those changes by re-calling itself if necessary based on the resolution of the promise.
2018-07-23 10:12:18 -05:00
Brian Hackett
3354a96d8d Bug 1465287 Part 8 - Allow spawning recording/replaying child processes and saving recordings, r=jld,mrbkap.
--HG--
extra : rebase_source : 1da4b1a7e485cfdafb38318860546ce3d0552815
2018-07-22 11:52:42 +00:00
Brian Hackett
846c8527a6 Bug 1465452 Part 14 - Record refcount changes for runnables, r=froydnj.
--HG--
extra : rebase_source : 34a8d17d8a3f894b47c20f5c07e48e97c79c12a7
2018-07-21 14:36:56 +00:00
Brian Hackett
54c917ef76 Bug 1465452 Part 13 - Avoid recording some timer thread state, r=froydnj.
--HG--
extra : rebase_source : f5a2e514099be1221960fb91de83d827e2121801
2018-07-21 14:36:02 +00:00
Brian Hackett
18ac75a5f8 Bug 1465452 Part 12 - Record refcount changes for abstract threads, r=froydnj.
--HG--
extra : rebase_source : a5602fe654f5ac62e33f5277c5d3f632e08d2222
2018-07-21 14:35:23 +00:00
Brian Hackett
2f0f16c25a Bug 1465452 Part 11 - Record refcount changes for pipe input/output streams, r=erahm.
--HG--
extra : rebase_source : 4c5f16a40e92688a3724da10c341dc4961911038
2018-07-21 14:34:51 +00:00
Brian Hackett
91398f534f Bug 1465452 Part 10 - Don't record atom table atomic, r=froydnj.
--HG--
extra : rebase_source : df483c29e518c0937d34317ba36b00383f2d39ad
2018-07-21 14:34:13 +00:00
Brian Hackett
c29d3cce40 Bug 1465452 Part 8 - Don't record logging state, r=froydnj.
--HG--
extra : rebase_source : 6e48fdaa36184c3344d34cecb6ce947b5f0e0644
2018-07-21 14:33:38 +00:00
Brian Hackett
b65c22bb28 Bug 1465452 Part 2 - Allow nsISupports subclasses to record/replay their refcount changes, r=froydnj.
--HG--
extra : rebase_source : c67e1da8a34c6b6bf6e40087da85c599f2aaeaf9
2018-07-21 14:29:15 +00:00
Brian Hackett
38e406e8a5 Bug 1465452 Part 1 - Allow platform mutexes to specify whether they are recorded, r=froydnj.
--HG--
extra : rebase_source : 5270a2370717577d454eb00d92be224635495be3
2018-07-21 14:28:21 +00:00
Brian Hackett
27848cf545 Bug 1207696 Part 4m - Don't record some threading atomics, r=froydnj.
--HG--
extra : rebase_source : 9e717d9087b4bea7693b0b7fe256740db74389d9
2018-07-21 14:27:32 +00:00
Brian Hackett
312bcb5d90 Bug 1207696 Part 4l - Don't record some debugging/statistics atomics, r=froydnj.
--HG--
extra : rebase_source : 401fdf6385e81b72d2ceee84b5ee1a9aac056aaa
2018-07-21 14:26:58 +00:00
Brian Hackett
fa9ad309f5 Bug 1207696 Part 4k - Don't record deadlock detector lock, r=froydnj.
--HG--
extra : rebase_source : 5291d3efd086ff2cd7879e93fd36ef796af3ded1
2018-07-21 14:26:15 +00:00
Brian Hackett
4be736018d Bug 1207696 Part 4b - Make recording optional in mozilla mutexes and monitors, r=froydnj.
--HG--
extra : rebase_source : c00f199b38c6bdd47ed1793edf2ce90fbf2ff420
2018-07-21 14:22:54 +00:00
Bobby Holley
4d4dfa4633 Bug 1476987 - Eliminate nsXPTCVariant::ptr. r=nika
MozReview-Commit-ID: JCazltUuMBf

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

--HG--
extra : moz-landing-system : lando
2018-07-21 01:25:37 +00:00