Commit Graph

61 Commits

Author SHA1 Message Date
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Jed Davis
92f69b3201 Bug 1154053 - Limit concurrency of e10s memory reporting. r=erahm
This changes the way nsMemoryReporterManger handles child processes;
instead of using an observer message and trying to keep a count of child
processes expected to answer, it directly iterates a copy of the list
of content processes and explicitly handles children which exit before
their reports start.

Note that GC/CC logs still run at full concurrency, and that no child
reports start until the parent is finished (see bug 1151597) regardless
of concurrency limit.
2015-05-06 20:51:00 +02:00
Phil Ringnalda
0f32185be8 Back out e05936099653 (bug 1154053) on suspicion of causing the hellish frequency of Android 2.3 robocop-2 crashes that resulted in this CLOSED TREE, a=bustage 2015-05-07 22:41:26 -07:00
Jed Davis
5b7451a823 Bug 1154053 - Limit concurrency of e10s memory reporting. r=erahm
This changes the way nsMemoryReporterManger handles child processes;
instead of using an observer message and trying to keep a count of child
processes expected to answer, it directly iterates a copy of the list
of content processes and explicitly handles children which exit before
their reports start.

Note that GC/CC logs still run at full concurrency, and that no child
reports start until the parent is finished (see bug 1151597) regardless
of concurrency limit.
2015-05-06 20:51:00 +02:00
Jed Davis
e32d410d6d Bug 1151597 - Step 2: Don't start child process memory reports until parent is finished. r=erahm 2015-04-27 15:46:00 -04:00
Jed Davis
f9cc33773b Bug 1151597 - Step 1: Change memory reporting IPC to send one report per message. r=erahm
Also fixes bug 1005154 -- since there's now a method for "end of report",
we might as well call it from ActorDestroy instead of Recv__delete__.
2015-04-27 15:45:00 -04:00
Ehsan Akhgari
ea41d8de48 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Nicholas Nethercote
e6e3bebf47 Bug 1145007 (part 2) - Add a "resident-peak" distinguished amount and memory reporter on Unix. r=erahm. 2015-03-19 15:16:37 -07:00
Trevor Saunders
d67df400c1 bug 1047696 - mark a number of classes MOZ_FINAL to get compilers to devirtualize more r=froydnj 2014-08-05 13:33:55 -04:00
Benoit Jacob
fcd3b40972 Bug 1028588 - Fix dangerous public destructors in xpcom/ - r=bsmedberg,khuey,nfroyd 2014-06-30 18:11:53 -04:00
Wes Kocher
8d34dc1b3b Backed out 4 changesets (bug 1028588) for build bustage
Backed out changeset 13a8bae671ca (bug 1028588)
Backed out changeset 19a19833f1d6 (bug 1028588)
Backed out changeset d5fae80054de (bug 1028588)
Backed out changeset 5942ad3859b8 (bug 1028588)
2014-06-30 15:50:19 -07:00
Benoit Jacob
6d0ba9e6eb Bug 1028588 - Fix dangerous public destructors in xpcom/ - r=bsmedberg,khuey,nfroyd 2014-06-30 18:11:53 -04:00
Nicholas Nethercote
7b107d5931 Bug 1010064 - Allow memory reports to be anonymized. r=bsmedberg. 2014-05-20 23:06:54 -07:00
Jan Keromnes
7eb6819c17 Bug 976024 - Track Unique Set Size in the Developer HUD. r=21, r=njn 2014-06-13 06:38:00 +02:00
Nicolas B. Pierron
b195d42434 Bug 1014071 - Add support for USS on Linux. r=BenWa,njn 2014-06-05 08:31:09 -07:00
Birunthan Mohanathas
e44da12c54 Bug 995730 - Fix style violations in xpcom/base/. r=froydnj,continuation 2014-05-13 20:41:38 +03:00
Jed Davis
fce3339319 Bug 991791 - Fix some timing-dependent edge cases in nsMemoryReporterManager child handling. r=njn
The patch for bug 946407 changed the state space of
nsMemoryReporterManager in a subtle way: if we're using
MinimizeMemoryUsage with our report, then it's possible for all of
the child processes to finish (or for the timeout to expire) before
the parent has started reporting on itself.  This could cause us to
dereference a null pointer to the state struct in StartGettingReports().

To fix this, we keep track of whether the parent has actually done its
report, and defer finishing the report until then.
2014-04-07 13:33:00 +02:00
Ben Kelly
f4e380759d Bug 991412: Provide static convenience method to retrieve RSS. r=njn 2014-04-07 10:46:20 -04:00
Jed Davis
867bd0590a Bug 946407 - Reimplement DumpMemoryInfoToTempDir in terms of GetReports. r=njn
This winds up exposing things in the nsIMemoryReporterManager interface
that arguably don't belong at that level of abstraction -- "minimize
memory usage first" and DMD -- in order to take advantage of the
infrastructure that GetReports already has for managing the child
processes.
2014-03-04 18:27:13 -08:00
Nicholas Nethercote
6b5b1691a4 Bug 956199 - Fix style of xpcom/base/nsMemoryReporterManager.{h,cpp}. r=bsmedberg. 2014-01-02 19:19:32 -08:00
Neil Rashbrook
a0dbae5c62 Bug 969324 Remove unnecessary ReporterEnumerator r=njn 2014-02-10 19:26:08 +00:00
Nathan Froyd
34cd63accd Bug 964415 - add include guards to nsMemoryReporterManager.h; r=njn 2014-01-27 14:54:37 -05:00
Nicholas Nethercote
0d8c64efcc Bug 936964 (part 7, attempt 2) - Make lots of classes report their own memory consumption, instead of using a separate reporter class. r=mccr8,sr=bz.
* * *
Bug 936964 (part 7b) - Fix a use-after-free found by ASan.
2013-11-07 16:35:30 +11:00
Ehsan Akhgari
65aaebab72 Backed out 9 changesets (bug 943660, bug 936964) because of ASAN use-after-free crashes on browser-chrome and mochitest-other
Backed out changeset 85486c4aa3d8 (bug 936964)
Backed out changeset 25312eb71998 (bug 936964)
Backed out changeset 6dbb8333960c (bug 936964)
Backed out changeset da6465ad476f (bug 936964)
Backed out changeset a87ffc992f38 (bug 936964)
Backed out changeset 4ae3a61182db (bug 936964)
Backed out changeset 34e9c3137804 (bug 936964)
Backed out changeset fd1459e71585 (bug 936964)
Backed out changeset 3e8a701d8bdc (bug 943660)

Landed on a CLOSED TREE
2013-11-27 20:05:00 -05:00
Nicholas Nethercote
c363b9d028 Bug 936964 (part 7) - Make lots of classes report their own memory consumption, instead of using a separate reporter class. r=mccr8,sr=bz. 2013-11-07 16:35:30 +11:00
Nicholas Nethercote
c10613ba57 Bug 929797 - Implement proper memory reporting for child processes. r=khuey. 2013-10-22 22:26:24 -07:00
Nicholas Nethercote
7d16eaa962 Bug 918207 - Support per-tab memory profiling. r=billm,mccr8,till,smaug,nfroyd. 2013-10-22 14:53:26 -07:00
Nicholas Nethercote
ab290a0d9f Bug 913260 (part 4) - Use distinguished amounts for all the memory measurements done by telemetry. r=mccr8.
CLOSED TREE
2013-09-19 15:52:30 -07:00
Nicholas Nethercote
a0d4ec6468 Bug 913260 (part 3) - Formalize the concept of "distinguished amounts" in the memory reporter manager. r=mccr8. 2013-09-19 15:52:28 -07:00
Phil Ringnalda
365b4e8b19 Backed out 3 changesets (bug 913260)
CLOSED TREE

Backed out changeset 9195be8a50cb (bug 913260)
Backed out changeset 09c71a3e7b85 (bug 913260)
Backed out changeset 8a8691a26012 (bug 913260)
2013-09-24 20:31:00 -07:00
Nicholas Nethercote
772ad0dd26 Bug 913260 (part 4) - Use distinguished amounts for all the memory measurements done by telemetry. r=mccr8. 2013-09-19 15:52:30 -07:00
Nicholas Nethercote
21f43ce7dd Bug 913260 (part 3) - Formalize the concept of "distinguished amounts" in the memory reporter manager. r=mccr8. 2013-09-19 15:52:28 -07:00
Ehsan Akhgari
35f4093831 Bug 917885 - Minimize the #includes in xpcom/base; r=bsmedberg 2013-09-19 14:29:31 -04:00
Ehsan Akhgari
fe85b6b42b Backed out changeset a8d6973e5743 (bug 917885) because I pushed the wrong patch 2013-09-19 14:27:35 -04:00
Ehsan Akhgari
4bbb07e34d Bug 917885 - Minimize the #includes in xpcom/base; r=bsmedberg 2013-09-19 14:12:56 -04:00
Nicholas Nethercote
c7fbf6a742 Bug 910517 (3rd attempt) - Remove nsIMemoryReporter, and rename nsIMemoryMultiReporter as nsIMemoryReporter. r=mmcr8. 2013-08-27 16:24:51 -07:00
Joshua Cranmer
1c073a2540 Bug 884061 - Part 3y: Use NS_DECL_THREADSAFE_ISUPPORTS in xpcom/, r=bsmedberg 2013-07-18 21:31:26 -05:00
Nicholas Nethercote
08d060bca2 Bug 848560 (part 2) - Prevent memory reporters from being registered while about:memory's tests are running. r=jlebar. 2013-04-01 21:39:44 -07:00
Justin Lebar
2342218924 Bug 833913 - Part 3: Switch nsMemoryReporterManager to using nsTHashtable. r=khuey,njn
This makes NS_RegisterMemoryReporter() and NS_UnregisterMemoryReporter()
O(1).  Previously, they took time linear to the number of registered
reporters.
2013-02-01 10:12:52 -05:00
Nicholas Nethercote
706be71687 Bug 829439 (part 2) - Some memory reporter clean-ups. r=jlebar. 2013-01-14 16:28:36 -08:00
Justin Lebar
ad89324f51 Bug 800486 - Part 2: Move signal-watching and memory-report-dumping code out of nsMemoryReporterManager and into a new file, MemoryInfoDumper. r=njn 2012-10-15 22:12:14 -04:00
Justin Lebar
8dbb80f34c Bug 788021 - Part 2: Add and implement nsIMemoryReporter::DumpMemoryReportsToFile. r=njn,cjones 2012-10-02 21:19:11 -04:00
Phil Ringnalda
40e96c2222 Back out 17b5b5dcd308, 04af81445c05, 15cc0aabab67 (bug 788021) and 2575a2f89d22 (bug 790417) for Linux crashes 2012-10-01 23:00:51 -07:00
Justin Lebar
531f4a1177 Bug 788021 - Part 2: Add and implement nsIMemoryReporter::DumpMemoryReportsToFile. r=njn,cjones 2012-10-02 00:11:42 -04:00
Ehsan Akhgari
243c878d26 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Ehsan Akhgari
6c1914b71f Bug 758992 - Make the classes which use the XPCOM nsISupports implementation macros final, to avoid the warning about deleting using a pointer to a base class with virtual functions and no virtual dtor (XPCOM parts); r=bsmedberg 2012-06-05 19:51:58 -04:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Mark Banner
e7e4bd8568 Bug 693949 - Drop nsCStringArray. r=bsmedberg 2011-10-28 08:35:45 +01:00
Nicholas Nethercote
bd10602bef Bug 653627 - Don't use char** in nsIMemoryReporter. r=khuey, sr=bz. 2011-07-08 12:45:16 +10:00
Nicholas Nethercote
8a7ab656e3 Bug 666075 - Add memory multi-reporters. r=khuey, sr=bz. 2011-06-30 09:39:32 +10:00