Commit Graph

46 Commits

Author SHA1 Message Date
Birunthan Mohanathas
00fa77001b Bug 995730 - Fix style violations in xpcom/base/. r=froydnj,continuation 2014-05-13 20:41:38 +03:00
Jed Davis
3b4495d665 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
97f749f80f Bug 991412: Provide static convenience method to retrieve RSS. r=njn 2014-04-07 10:46:20 -04:00
Jed Davis
906a754859 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
7be3105a78 Bug 956199 - Fix style of xpcom/base/nsMemoryReporterManager.{h,cpp}. r=bsmedberg.
--HG--
extra : rebase_source : 79a8053c97ecb0786f0a722838f66fc85c5e1368
2014-01-02 19:19:32 -08:00
Neil Rashbrook
d55e0744c8 Bug 969324 Remove unnecessary ReporterEnumerator r=njn 2014-02-10 19:26:08 +00:00
Nathan Froyd
62e203515c Bug 964415 - add include guards to nsMemoryReporterManager.h; r=njn 2014-01-27 14:54:37 -05:00
Nicholas Nethercote
c82c609ac3 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.

--HG--
extra : rebase_source : d38ab6b63e9d576773baf8e55fa4f7182c33915e
2013-11-07 16:35:30 +11:00
Ehsan Akhgari
6220f98ec6 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

--HG--
rename : content/canvas/src/WebGLMemoryTracker.h => content/canvas/src/WebGLMemoryReporterWrapper.h
2013-11-27 20:05:00 -05:00
Nicholas Nethercote
74e6ffe050 Bug 936964 (part 7) - Make lots of classes report their own memory consumption, instead of using a separate reporter class. r=mccr8,sr=bz.
--HG--
rename : content/canvas/src/WebGLMemoryReporterWrapper.h => content/canvas/src/WebGLMemoryTracker.h
extra : rebase_source : 611e8d35907959b163aeced1c4ffe1d265048fe6
2013-11-07 16:35:30 +11:00
Nicholas Nethercote
a277702631 Bug 929797 - Implement proper memory reporting for child processes. r=khuey.
--HG--
extra : rebase_source : f0788757afc2097830295170120e1e2094993cc7
2013-10-22 22:26:24 -07:00
Nicholas Nethercote
d58b8ff6f4 Bug 918207 - Support per-tab memory profiling. r=billm,mccr8,till,smaug,nfroyd.
--HG--
extra : rebase_source : 7603eaedbd761c6b231b1b911f719388864755e6
2013-10-22 14:53:26 -07:00
Nicholas Nethercote
9c1dfff707 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
e670fcccd8 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
f2d9988dbb 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
6a709f70b8 Bug 913260 (part 4) - Use distinguished amounts for all the memory measurements done by telemetry. r=mccr8.
--HG--
extra : rebase_source : 0e9db51b137770ba7db15a99a4ec1e87071d2f47
2013-09-19 15:52:30 -07:00
Nicholas Nethercote
8bd7f32128 Bug 913260 (part 3) - Formalize the concept of "distinguished amounts" in the memory reporter manager. r=mccr8.
--HG--
extra : rebase_source : cc6f50d85f384ed665d44b2e8850618fd8a56fa5
2013-09-19 15:52:28 -07:00
Ehsan Akhgari
a2c0c65e43 Bug 917885 - Minimize the #includes in xpcom/base; r=bsmedberg 2013-09-19 14:29:31 -04:00
Ehsan Akhgari
9b717619cf Backed out changeset a8d6973e5743 (bug 917885) because I pushed the wrong patch 2013-09-19 14:27:35 -04:00
Ehsan Akhgari
dc575f6de1 Bug 917885 - Minimize the #includes in xpcom/base; r=bsmedberg 2013-09-19 14:12:56 -04:00
Nicholas Nethercote
fd238cabbe Bug 910517 (3rd attempt) - Remove nsIMemoryReporter, and rename nsIMemoryMultiReporter as nsIMemoryReporter. r=mmcr8.
--HG--
rename : content/canvas/src/WebGLMemoryMultiReporterWrapper.h => content/canvas/src/WebGLMemoryReporterWrapper.h
extra : rebase_source : 2b2a1b2667d6562fcf803ec48b4a8c10fdd519a3
2013-08-27 16:24:51 -07:00
Joshua Cranmer
0a16998703 Bug 884061 - Part 3y: Use NS_DECL_THREADSAFE_ISUPPORTS in xpcom/, r=bsmedberg
--HG--
extra : rebase_source : d54f6973e3ff859207115013e8361781769ffc76
2013-07-18 21:31:26 -05:00
Nicholas Nethercote
4dc48236ed Bug 848560 (part 2) - Prevent memory reporters from being registered while about:memory's tests are running. r=jlebar.
--HG--
extra : rebase_source : 3187fef1c6910b637788499de47bef6718018c0a
2013-04-01 21:39:44 -07:00
Justin Lebar
0a835fcbe3 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
19600b0dee Bug 829439 (part 2) - Some memory reporter clean-ups. r=jlebar.
--HG--
extra : rebase_source : 31ef4aaa1dde5299125ed67d297d70ee5fe5c876
2013-01-14 16:28:36 -08:00
Justin Lebar
2f597a1b5d 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
74b29b501b Bug 788021 - Part 2: Add and implement nsIMemoryReporter::DumpMemoryReportsToFile. r=njn,cjones 2012-10-02 21:19:11 -04:00
Phil Ringnalda
fb7f683c92 Back out 17b5b5dcd308, 04af81445c05, 15cc0aabab67 (bug 788021) and 2575a2f89d22 (bug 790417) for Linux crashes 2012-10-01 23:00:51 -07:00
Justin Lebar
b12f4cec24 Bug 788021 - Part 2: Add and implement nsIMemoryReporter::DumpMemoryReportsToFile. r=njn,cjones 2012-10-02 00:11:42 -04:00
Ehsan Akhgari
8c296bbcd4 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
b5161f97b8 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
87620f5676 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Mark Banner
da396f0de1 Bug 693949 - Drop nsCStringArray. r=bsmedberg 2011-10-28 08:35:45 +01:00
Nicholas Nethercote
7b61ea2b0e Bug 653627 - Don't use char** in nsIMemoryReporter. r=khuey, sr=bz. 2011-07-08 12:45:16 +10:00
Nicholas Nethercote
800388b615 Bug 666075 - Add memory multi-reporters. r=khuey, sr=bz. 2011-06-30 09:39:32 +10:00
Justin Lebar
169b00ccad Bug 664486 - Add page fault counts to about:memory on Linux and Mac. r=njn, sr=bz
--HG--
extra : rebase_source : 47dd7501dea7ae69e01828a5c730e8853739dc71
2011-06-16 14:34:09 -04:00
Nicholas Nethercote
3f2c2d551f Bug 656773 - Separate the process and the path in nsIMemoryReporter so that about:memory works in private browsing mode. r=sdwilsh, sr=roc. 2011-06-06 11:22:45 +10:00
Daniel Holbert
8affc3ab15 Bug 659187: Make member vars in nsMemoryReporterManager.h match ordering in constructor init list, to fix build warning. r=njn 2011-05-24 03:35:10 -07:00
Nicholas Nethercote
30e92c3349 Bug 657327 - about:memory: merge the "mapped" and "heap used" trees, and make the resulting tree flatter. r=sdwilsh,Jesse, sr=roc. 2011-05-22 19:49:56 -07:00
Doug Turner
738a73c73f Bug 633305 - about:memory should display memory reporters that live in the child process r=cjones a=blocking-fennec 2011-02-16 10:43:23 -08:00
Doug Turner
8c2a6d9061 backout of 74a64df4f758 a=build-bustage 2011-02-24 11:21:17 -08:00
Doug Turner
625a17d16a Bug 633305 - about:memory should display memory reporters that live in the child process r=cjones a=blocking-fennec
--HG--
extra : rebase_source : adf4e4f912ac6cab8c48b91da35e22a2b3ba0916
2011-02-16 10:43:23 -08:00
Doug Turner
75b6c6be75 Bug 619096 - nsMemoryReporterManager should be threadsafe. r=vlad a=mfinkle 2010-12-15 09:47:16 -08:00
vladimir@pobox.com
70d80ccf1a b=392351, implement about:memory framework core, relading with forward-declaration victory; r=shaver,sr=bsdmedberg 2008-03-05 17:28:25 -08:00
vladimir@pobox.com
64f81afb83 backed out 2008-03-05 16:54:15 -08:00
vladimir@pobox.com
e8084c1f5f b=392351, implement about:memory framework core r=shaver, sr=bsmedberg 2008-03-05 16:40:58 -08:00