Jonathan Kew
20b8376ffd
Bug 1368654 - pt 1 - Implement memory reporter support for FrameProperties. r=mats
2017-05-31 19:52:47 +01:00
Mats Palmgren
483a804512
Bug 1364805 part 3 - Implement Type() by indexing a static array using the mClass field. Remove the nsIFrame::mType field. r=jfkthame
...
In the nsWindowMemoryReporter.cpp / nsArenaMemoryStats.h I'm only
including the concrete frame classes now - we obviously never have
instances of the other IDs so there's no need to collect stats for them.
MozReview-Commit-ID: 48uFCZ3xKBC
2017-05-26 12:11:11 +02:00
Tom Tromey
d2667a2b27
Bug 1060419 - make AppendPrintf and nsPrintfCString use Printf.h, r=froydnj
...
MozReview-Commit-ID: 2E8FoiNxU8L
--HG--
extra : rebase_source : 810ac727bef0751f24edea18c52e0ec170bf367d
2016-12-14 09:32:21 -07:00
Bill McCloskey
0cda76d680
Bug 1339289 - Give names to a lot of common timers (r=ehsan)
...
MozReview-Commit-ID: IMsv5bkyjBL
2017-02-15 12:30:01 -08:00
Nicholas Nethercote
742fc7eb48
Bug 1297961 (part 1) - Introduce nsURI::GetSpecOrDefault(). r=hurley.
...
This function is an infallible alternative to nsIURI::GetSpec(). It's useful
when it's appropriate to handle a GetSpec() failure with a failure string, e.g.
for log/warning/error messages. It allows code like this:
nsAutoCString spec;
uri->GetSpec(spec);
printf("uri: %s", spec.get());
to be changed to this:
printf("uri: %s", uri->GetSpecOrDefault().get());
This introduces a slight behavioural change. Previously, if GetSpec() failed,
an empty string would be used here. Now, "[nsIURI::GetSpec failed]" will be
produced instead. In most cases this failure string will make for a clearer
log/warning/error message than the empty string.
* * *
Bug 1297961 (part 1b) - More GetSpecOrDefault() additions. r=hurley.
I will fold this into part 1 before landing.
--HG--
extra : rebase_source : ddc19a5624354ac098be019ca13cc24b99b80ddc
2016-08-26 16:02:31 +10:00
Nicholas Nethercote
c2306345d5
Bug 1297658 - Avoid unnecessary checking in memory reporters. r=erahm.
...
This patch removes checking of all the callback calls in memory reporter
CollectReport() functions, because it's not useful.
The patch also does some associated clean-up.
- Replaces some uses of nsIMemoryReporterCallback with the preferred
nsIHandleReportCallback typedef.
- Replaces aCallback/aCb/aClosure with aHandleRepor/aData for CollectReports()
parameter names, for consistency.
- Adds MOZ_MUST_USE/[must_use] in a few places in nsIMemoryReporter.idl.
- Uses the MOZ_COLLECT_REPORT macro in all suitable places.
Overall the patch reduces code size by ~300 lines and reduces the size of
libxul by about 37 KiB on my Linux64 builds.
--HG--
extra : rebase_source : e94323614bd10463a0c5134a7276238a7ca1cf23
2016-08-24 15:23:45 +10:00
Andrea Marchesini
8723eb439d
Bug 1278816 - Move Performance API into dom/performance, r=smaug
...
--HG--
rename : dom/base/PerformanceEntry.cpp => dom/performance/PerformanceEntry.cpp
rename : dom/base/PerformanceEntry.h => dom/performance/PerformanceEntry.h
rename : dom/base/PerformanceMark.cpp => dom/performance/PerformanceMark.cpp
rename : dom/base/PerformanceMark.h => dom/performance/PerformanceMark.h
rename : dom/base/PerformanceMeasure.cpp => dom/performance/PerformanceMeasure.cpp
rename : dom/base/PerformanceMeasure.h => dom/performance/PerformanceMeasure.h
rename : dom/base/PerformanceObserver.cpp => dom/performance/PerformanceObserver.cpp
rename : dom/base/PerformanceObserver.h => dom/performance/PerformanceObserver.h
rename : dom/base/PerformanceObserverEntryList.cpp => dom/performance/PerformanceObserverEntryList.cpp
rename : dom/base/PerformanceObserverEntryList.h => dom/performance/PerformanceObserverEntryList.h
rename : dom/base/PerformanceResourceTiming.cpp => dom/performance/PerformanceResourceTiming.cpp
rename : dom/base/PerformanceResourceTiming.h => dom/performance/PerformanceResourceTiming.h
rename : dom/base/nsPerformance.cpp => dom/performance/nsPerformance.cpp
rename : dom/base/nsPerformance.h => dom/performance/nsPerformance.h
rename : dom/base/test/performance_observer.html => dom/performance/tests/performance_observer.html
rename : dom/base/test/test_performance_observer.html => dom/performance/tests/test_performance_observer.html
rename : dom/base/test/test_performance_observer.js => dom/performance/tests/test_performance_observer.js
rename : dom/base/test/test_performance_user_timing.html => dom/performance/tests/test_performance_user_timing.html
rename : dom/base/test/test_performance_user_timing.js => dom/performance/tests/test_performance_user_timing.js
2016-06-09 12:42:21 +02:00
Nicholas Nethercote
bbb69ce5f3
Bug 1187151 (part 18) - Replace nsBaseHashtable::Enumerate() calls in dom/ with iterators. r=mccr8.
...
--HG--
extra : rebase_source : e123f97b5ce8beaf4d86d9188cd9f9df2f073012
2016-01-28 15:14:45 -08:00
Kyle Huey
91efc5a86c
Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug
2016-01-30 09:05:36 -08:00
Kyle Huey
a1459ad2d7
Bug 1241763: Don't fire dom-window-destroyed on outer windows. r=bz
2016-01-22 10:27:54 -08:00
Nicholas Nethercote
d4891260a7
Bug 1187782 (part 3) - Replace nsBaseHashtable::EnumerateRead() calls in dom/base/ with iterators. r=khuey.
...
--HG--
extra : rebase_source : 2011a2b7432d217470da2651a9184fc76776b3f7
2015-10-26 22:22:10 -07:00
Kyle Huey
c7d3c4e21a
Bug 1216401: Eviscerate nsIDOMWindow, move still needed methods to nsPIDOMWindow. r=bz
2015-10-26 14:37:32 -07:00
Nathan Froyd
01583602a9
Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
...
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout. The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.
CLOSED TREE makes big refactorings like this a piece of cake.
# The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
xargs perl -p -i -e '
s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
s/nsRefPtr ?</RefPtr</g; # handle declarations and variables
'
# Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h
# Handle nsRefPtr.h itself, a couple places that define constructors
# from nsRefPtr, and code generators specially. We do this here, rather
# than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
# things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
mfbt/nsRefPtr.h \
xpcom/glue/nsCOMPtr.h \
xpcom/base/OwningNonNull.h \
ipc/ipdl/ipdl/lower.py \
ipc/ipdl/ipdl/builtin.py \
dom/bindings/Codegen.py \
python/lldbutils/lldbutils/utils.py
# In our indiscriminate substitution above, we renamed
# nsRefPtrGetterAddRefs, the class behind getter_AddRefs. Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'
if [ -d .git ]; then
git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nicholas Nethercote
63ee27b690
Bug 1192128 - In DOM memory reporter, handle WindowID() being a uint64_t. r=mccr8.
...
--HG--
extra : rebase_source : 0166b09f8800c8ee2509643573e8f85f01d0b3c0
2015-08-06 22:09:30 -07:00
Birunthan Mohanathas
18c3f7460e
Bug 1182980 - Part 5: Use nsTHashtable::Iterator in nsWindowMemoryReporter::CollectReports. r=khuey
2015-07-22 09:42:01 -07:00
Birunthan Mohanathas
af3cfe9011
Bug 1182980 - Part 4: Use nsTHashtable::Iterator in nsWindowMemoryReporter::UnlinkGhostWindows. r=khuey
2015-07-22 09:42:01 -07:00
Juan Gomez
258ad59e3f
Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj
2015-07-03 18:29:00 -07:00
Ryan VanderMeulen
5f5c327690
Backed out changeset 8b4e4083639e (bug 1171931) for B2G debug emulator bustage.
2015-06-25 19:48:42 -04:00
Juan Gomez
702a59d135
Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj
...
--HG--
extra : rebase_source : 2ecbe6c1dd8a7ad8dc529b53349ad431cf1116c9
2015-06-24 14:11:00 -04:00
Cameron McCormack
7c0c226f2c
Bug 1168299 - Break out style struct memory usage reporting from pres-shell. r=njn
2015-05-27 12:08:42 +10:00
Bobby Holley
3f0858f342
Bug 951991 - Assert against calling GetCurrentInnerWindow on an inner. r=smaug
...
The current convention is that this returns null when invoked on an inner, which
callers may or may not handle correctly. But when we start using GetEntryGlobal,
we'll end up with a lot of inners where we used to get outers, so we should get
strict about this now.
2014-08-19 12:02:05 -07:00
Nicholas Nethercote
aaf6fb2124
Bug 1010064 - Allow memory reports to be anonymized. r=bsmedberg.
...
--HG--
extra : rebase_source : 5eb756b17a97e751deb0f47e909fdb35533cb23b
2014-05-20 23:06:54 -07:00
Andrew McCreight
8d1c981254
Bug 994090 - Use do_CreateInstance in nsWindowMemoryReport. r=smaug
2014-05-15 09:35:00 -04:00
Birunthan Mohanathas
5f1fde8824
Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj
2014-04-27 03:06:00 -04:00
Neil Rashbrook
757dacf9be
Bug 514280 Remove concrete classes from interface maps r=bsmedberg
2014-03-28 08:40:13 +00:00
Andrew McCreight
2243646948
Bug 977940, part 2 - Don't automatically trigger the ghost window detector during ICC. r=smaug
2014-03-08 05:38:53 -08:00
Andrew McCreight
260d421e2f
Bug 977940, part 1 - Don't run the ghost window detector more than every 45 seconds. r=smaug
2014-03-08 05:38:52 -08:00
Andrew McCreight
798ec9614e
Bug 966762 - Add chrome JS function to unlink ghost windows. r=smaug
2014-02-20 12:55:40 -08:00
Andrew McCreight
6c86943613
Backout bug 966762 for Valgrind leaks
2014-02-19 17:17:58 -08:00
Andrew McCreight
7cd422c324
Bug 966762 - Add chrome JS function to unlink ghost windows. r=smaug
2014-02-19 13:27:15 -08:00
Nathan Froyd
b07161b5dc
Bug 957609 - eschew code duplication in macros for CollectWindowReports; r=njn
2014-01-10 10:15:53 -05:00
Nicholas Nethercote
0aa47c52fb
Bug 957021 - Fix messed-up memory reporter paths. r=khuey.
...
--HG--
extra : rebase_source : 2bd46a9442c54ffba04279a405aeb270ce7bbb23
2014-01-07 17:02:23 -08:00
Ehsan Akhgari
1b83407ce9
Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
...
This patch was automatically generated by the following script:
#!/bin/bash
# Command to convert PRUnichar to char16_t
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*modules/libmar*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name prtypes.h \
! -name Char16.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 PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Nicholas Nethercote
91175eb896
Bug 955942 (part 2) - Remove MemoryUniReporter. r=mccr8.
...
--HG--
extra : rebase_source : 9d70016cb19637ffece6409a184bf41d574cc6b4
2013-12-07 22:09:10 -08:00
Nicholas Nethercote
9366b60202
Bug 955942 (part 1) - Remove unnecessary nsIMemoryReporter qualifiers from UNITS_* and KIND_* constants. r=mccr8.
...
--HG--
extra : rebase_source : f760568c08af03d9fec316bf95e7d4388078a03d
2013-12-11 11:59:39 -08:00
Nathan Froyd
4e5308cf32
Bug 946781 - part 4 - revert measuring the proto and iface cache on nsGlobalWindow (bug 922094); r=me
2013-12-06 13:11:53 -05:00
Nicholas Nethercote
6e5e55931d
Bug 947798 (part 1) - Rename NS_MEMORY_REPORTER_MALLOC_SIZEOF_FUN as MOZ_DEFINE_MALLOC_SIZE_OF. r=mccr8.
...
--HG--
extra : rebase_source : ec09d4c31264c15befb020375bf001a1ad1df6b8
2013-12-07 21:38:32 -08:00
Nathan Froyd
cd5c4eb51e
Bug 922094 - part 1 - report proto/iface cache size to about:memory; r=njn
...
This is just the nsWindowMemoryReporter bits; the actual measurements come later.
2013-11-21 09:13:31 -05:00
Nicholas Nethercote
39004db706
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
Nicholas Nethercote
b827292c98
Bug 943660 (attempt 2) - Remove nsIMemoryReporter::name, because it's (a) unused and (b) a bad idea. r=mccr8.
...
--HG--
extra : rebase_source : 4381c3c424e34198b83c45fa0ac0d9a670bab2b8
2013-11-26 18:38:50 -08:00
Ehsan Akhgari
a903aefdc0
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
bc475c75df
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
19f2e8fdea
Bug 943660 - Remove nsIMemoryReporter::name, because it's (a) unused and (b) a bad idea. r=mccr8.
...
--HG--
extra : rebase_source : f2ccff7972d7161e2290fd3db70463524c55f230
2013-11-26 18:38:50 -08:00
Birunthan Mohanathas
98f3b9652a
Bug 784739 - Switch from NULL to nullptr in dom/ (1/2); r=ehsan
2013-10-28 10:04:12 -04:00
Nils Maier
ccc8856587
Bug 929297 - Part 2: Avoid calling amIAddonManager in reporters off the main process. r=njn
2013-10-28 04:53:00 +00:00
Kyle Huey
dd9f94690a
Bug 904720: Count event listeners. r=njn,smaug
2013-10-28 17:47:18 +08:00
Nicholas Nethercote
dac7e13e71
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
75f194c48c
Bug 921923 (part 3) - Make multi-output sizeOfFoo() functions more consistent in content/, dom/ and layout/. r=till.
...
--HG--
extra : rebase_source : ac8aebe86b4b7ee5acc0f541be5645abf73b6a98
2013-09-30 16:20:23 -07:00
Nicholas Nethercote
dc5c29f71c
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
0069cbfda7
Bug 913260 (part 2) - Tweak ghost window reporters. r=mccr8.
2013-09-18 19:01:29 -07:00