Commit Graph

18042 Commits

Author SHA1 Message Date
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
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
Tiberius Oros
7d1f9f312f Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-20 12:58:57 +03:00
Tiberius Oros
10e6320abc Merge inbound to mozilla-central. a=merge 2018-07-20 12:56:59 +03:00
Edgar Chen
4024c1e21e Bug 1413418 - Give the last chance to consume micro task queue during the final cycle collection; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D2121

--HG--
extra : moz-landing-system : lando
2018-07-19 16:38:33 +00:00
Bogdan Tara
217447d26d Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-20 00:53:24 +03:00
Jean-Yves Avenard
1b724d418f Bug 1476729 - Wrap object in RefPtr. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D2243

--HG--
extra : moz-landing-system : lando
2018-07-19 19:23:16 +00:00
Kris Maglione
4d3e4a0894 Bug 1476828: Part 1 - Reduce the default thread manager thread stack size. r=erahm f=froydnj
MozReview-Commit-ID: cRED4r0xAb

--HG--
extra : rebase_source : 1d648a5c91e802554f044c395a39be8e7f30419b
2018-07-19 14:27:42 -07:00
Nathan Froyd
6026bc4fec Bug 1471347 - part 2 - store an nsCString for SharedLibrary::mBreakpadId; r=njn
Similar to the previous part, we convert mBreakpadId to an nsCString to
avoid issues with locale-dependent std::string operations.

There are a lot of non-profiler changes here because a bunch of things
depend on the SharedLibrary object that the profiler defines.
2018-07-19 10:32:07 -04:00
Kris Maglione
2e3f19a497 Bug 1475899: Follow-up: Temporarily disable thread stack size assertion on Android. r=bustage 2018-07-18 18:04:40 -07:00
Kris Maglione
f4f437793d Bug 1475899: Part 5 - Add thread stack memory reporter for Windows. r=erahm,aklotz
MozReview-Commit-ID: Bv6OPmUhl5Y

--HG--
extra : source : fbf0e4b12c8e05cabca321d352df32735b8baec9
extra : absorb_source : ce7cd1f176760f895b18426981117c665ed0aba0
2018-07-17 13:09:45 -07:00
Kris Maglione
1dbd559f77 Bug 1475899: Part 4 - Add memory reporter for committed thread stack sizes on Linux. r=erahm
Later patches add support for Windows. OS-X will need a follow-up.

MozReview-Commit-ID: DDd6uir4KzM

--HG--
extra : source : b4394660fde2b05e972c491246570d8f79d8a7c6
extra : absorb_source : 063bc5db64faa9311ac9db99259cd477fb8fcf7e
2018-07-14 02:21:30 -07:00
Kris Maglione
fb98e4016d Bug 1475899: Part 3 - Add helper for parsing memory mappings on Linux. r=erahm,jld
The only real way to get memory mapping information on Linux is to read and
parse /proc/self/maps, and infer information about a specific pointer based on
its contents.

This patch adds a helper which parses the entire contents of smaps, and
returns an array of objects describing each region. It also updates resident
unique reporter to use that helper. Later patches use it to map stack base
addresses to VM regions, and report their usage data.

MozReview-Commit-ID: 8VUu1kMT77L

--HG--
extra : source : e89ebe1f22f28d2b667514cb66d39606136a2f58
extra : absorb_source : 86ad16750144e02b9fbe84390eeab6c1917b379d
2018-07-14 02:20:55 -07:00
Kris Maglione
b8f2812701 Bug 1475899: Part 2 - Store stack base pointer for nsThreads on Linux. r=erahm,jld
This change stores the base allocation address and actual allocated stack size
(as opposed to the requested size, which may be 0), so that we can map them to
VM regions in a memory reporter.

MozReview-Commit-ID: IZbbyQ9pKHr

--HG--
extra : source : 391b97f0e5c029880d4a1ae697463cfcb8839116
2018-07-14 02:28:05 -07:00
Kris Maglione
9b7d0838b7 Bug 1475899: Part 1 - Track live nsThreads and add a method of enumerating them. r=erahm
This will allow us to enumerate active threads in order to report their
memory.

MozReview-Commit-ID: IExELSkFdwB

--HG--
extra : source : 2916b5e05b6d100e91448f21cb4082e41a86e87c
2018-07-14 02:19:59 -07:00
Brindusan Cristian
9cde10a0a1 Backed out 5 changesets (bug 1475899) for build bustages on /workspace/build/src/xpcom/base/MemoryMapping.cpp. CLOSED TREE
Backed out changeset fbf0e4b12c8e (bug 1475899)
Backed out changeset b4394660fde2 (bug 1475899)
Backed out changeset e89ebe1f22f2 (bug 1475899)
Backed out changeset 391b97f0e5c0 (bug 1475899)
Backed out changeset 2916b5e05b6d (bug 1475899)
2018-07-19 02:02:40 +03:00
Kris Maglione
4dab7b4343 Bug 1475899: Part 5 - Add thread stack memory reporter for Windows. r=erahm,aklotz
MozReview-Commit-ID: Bv6OPmUhl5Y

--HG--
extra : rebase_source : b159db438a3c1a7b9d2bbb11f36100f9a89d567e
2018-07-17 13:09:45 -07:00
Kris Maglione
3d58783354 Bug 1475899: Part 4 - Add memory reporter for committed thread stack sizes on Linux. r=erahm
Later patches add support for Windows. OS-X will need a follow-up.

MozReview-Commit-ID: DDd6uir4KzM

--HG--
extra : rebase_source : a28826d3331d057f4d35bec56da7738a727d9768
2018-07-14 02:21:30 -07:00
Kris Maglione
c13f3c0a1d Bug 1475899: Part 3 - Add helper for parsing memory mappings on Linux. r=erahm,jld
The only real way to get memory mapping information on Linux is to read and
parse /proc/self/maps, and infer information about a specific pointer based on
its contents.

This patch adds a helper which parses the entire contents of smaps, and
returns an array of objects describing each region. It also updates resident
unique reporter to use that helper. Later patches use it to map stack base
addresses to VM regions, and report their usage data.

MozReview-Commit-ID: 8VUu1kMT77L

--HG--
extra : rebase_source : e9c233aa828b57efa5c0c154cdb9c7d049cc3312
2018-07-14 02:20:55 -07:00
Kris Maglione
9ce29230ec Bug 1475899: Part 2 - Store stack base pointer for nsThreads on Linux. r=erahm,jld
This change stores the base allocation address and actual allocated stack size
(as opposed to the requested size, which may be 0), so that we can map them to
VM regions in a memory reporter.

MozReview-Commit-ID: IZbbyQ9pKHr

--HG--
extra : rebase_source : 1b61bfd63931ce9e2bf9a71905468336971d0956
2018-07-14 02:28:05 -07:00
Kris Maglione
7d18889141 Bug 1475899: Part 1 - Track live nsThreads and add a method of enumerating them. r=erahm
This will allow us to enumerate active threads in order to report their
memory.

MozReview-Commit-ID: IExELSkFdwB

--HG--
extra : rebase_source : 94b63857357639b201b85bdd7bfc4fbe1d4b7f62
2018-07-14 02:19:59 -07:00
Paolo Amadini
dc49387df8 Bug 1472555 - Part 5 - Remove the listbox layout. r=bz,surkov
MozReview-Commit-ID: Bx1p1nTurCz

--HG--
extra : rebase_source : 6910e500f30eb42b45032dbab85a3dc9c014390b
2018-07-18 11:23:32 +01:00
Chris Peterson
1c725fea47 Bug 1469769 - Part 7: Remove NS_NOTREACHED definition. r=froydnj
MozReview-Commit-ID: IwzSGKF3Osk

--HG--
extra : source : a204fa73d06079b3fb4824e8e79942ab4518fc16
extra : histedit_source : 2378e1fd4ffdbc1af1b1d3a739ecf2e3de7d22cf
2018-06-17 22:34:23 -07:00
Calixte Denizet
cfaea27109 Bug 1473531 -- Disable gtest storage_DeadlockDetectorTest.storage_Sanity5DeathTest for macosx ccov build.
Summary: GTest is permafailing because of this test (GTest is always running over 1200s).

Reviewers: froydnj

Reviewed By: froydnj

Bug #: 1473531

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

--HG--
extra : rebase_source : 07413c4d7ba4eb6bd1439f292bd489a775dab61b
2018-07-17 21:24:12 +03:00
Jan de Mooij
ef23676856 Bug 1475699 - Support invoking JS-implemented XPIDL methods/attributes marked as [implicit_jscontext]. r=mccr8 2018-07-17 18:11:03 +02:00
Emilio Cobos Álvarez
6b1dec4b78 Bug 1473804: Don't lie to AutoTArray::EnsureCapacity. r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D1995

MozReview-Commit-ID: 350uWaD49tS
2018-07-17 10:23:47 +02:00
Kris Maglione
0bfdb4329f Bug 1473631: Part 0a - Make preference callbacks typesafe. r=njn
I initially tried to avoid this, but decided it was necessary given the number
of times I had to repeat the same pattern of casting a variable to void*, and
then casting it back in a part of code far distant from the original type.

This changes our preference callback registration functions to match the type
of the callback's closure argument to the actual type of the closure pointer
passed, and then casting it to the type of our generic callback function. This
ensures that the callback function always gets an argument of the type it's
actually expecting without adding any additional runtime memory or
QueryInterface overhead for tracking it.

MozReview-Commit-ID: 9tLKBe10ddP

--HG--
extra : rebase_source : 7524fa8dcd5585f5a31fdeb37d95714f1bb94922
2018-07-06 12:24:41 -07:00
Emilio Cobos Álvarez
09e04b0f0f Bug 1475980: A moved table should be empty. r=froydnj
MozReview-Commit-ID: 7K9wNGhIhaD
2018-07-16 18:06:37 +02:00
Valentin Gosu
5bd326c5f5 Bug 1412081 - Add ability to blacklist file paths on Unix platforms r=mayhemer
--HG--
extra : rebase_source : 6894f5c3df745519e5e9db5b7bf6f004922152d1
2018-06-20 02:52:12 +02:00
Eric Rahm
cf21a1de96 Bug 1442765 - Part 2: Switch nsTraceRefcnt's hashtables to use xpcom hashtables. r=mccr8
--HG--
extra : rebase_source : 5fecdd86a3ef27d211cb43d4c602162db7554f2f
2018-03-05 16:50:00 -08:00
Eric Rahm
e63e92aa34 Bug 1442765 - Part 1: Add intptr_t hashkey type. r=froydnj
This adds a hashkey that operates on a uintptr_t.

--HG--
extra : rebase_source : e10b00f7735bf63cb578d18acd03c3f3e919e304
2018-03-20 17:52:16 -07:00
Jan de Mooij
594a3aa6d4 Bug 1475177 - Change sendCommand xpcshell function to only accept plain JSFunction callbacks. r=evilpie 2018-07-16 14:02:16 +02:00
Kris Maglione
b744713e4e Bug 1471025: Part 3c - Also pass the shared preference map handle to Android content processes. r=jld
MozReview-Commit-ID: CTjDzVC9gcD

--HG--
extra : intermediate-source : 7c03b7dd00e9675f9ac045ed1ea733eb0486904f
extra : absorb_source : c79df6bd9ebbec3454fcca1a81cbfa540ad91a3e
extra : source : 38f690f30e78764763bb012045073fa781efa691
extra : histedit_source : 544ff4257f38fae99a800276d06eb0d719882ca2
2018-07-13 11:06:58 -07:00
Kris Maglione
f071708db7 Bug 1471025: Part 3b - Refactor Android shared FD API to require fewer modifications per change. r=jld
Adding or removing an FD from this API currently requires changes in about a
half dozen places. Ignoring the Java side of things. This patch changes the
API to pass a struct, rather than additional arguments for each FD, so that
adding and removing FDs only requires changing one declaration, and the two
call sites that add and consume the FDs.

MozReview-Commit-ID: CToSEVp1oqP

--HG--
extra : intermediate-source : ff41551f5ff1b98b72ed771a6f2a3f66a8b79a57
extra : absorb_source : c9fe7423fcbb47655b05209b44fb02b69b272d07
extra : source : 4b7a8a35ed956159e2f443c6211164c0cbf3d926
extra : histedit_source : b98b792791274f00a5e649c82dc25043cc1d699a
2018-07-02 15:01:25 -07:00