Commit Graph

2672 Commits

Author SHA1 Message Date
Eric Faust
77529f2044 Bug 1001126 - Allow AllTraces CC logging other than at shutdown. (r=mccr8) 2014-04-24 14:28:49 -07:00
Eric Rahm
1058655d11 Bug 1000621 - Check if DMD is enabled before dumping. r=njn. DONTBUILD 2014-04-24 12:43:11 -07:00
Steven Michaud
3164e19fdc Bug 997908 - Add null check to ReleaseSliceNow() as bandaid for Mac topcrasher. r=smaug 2014-04-24 11:46:39 -05:00
Terrence Cole
56f4a8bca3 Bug 807168 - Make JSTracer into a real C++ class and kill the macro accessors; r=jonco,mccr8
--HG--
rename : js/public/Tracer.h => js/public/TracingAPI.h
2014-04-11 15:19:05 -07:00
Dave Hylands
39f564ba6f Bug 990230 - Fix heap use-after-free in memory reporter. r=n.nethercote 2014-04-17 16:57:30 -07:00
Terrence Cole
6f2d911fe4 Bug 994413 - Make Gecko use the same value marking semantics as SpiderMonkey; r=jonco,mccr8 2014-04-09 12:42:48 -07:00
Nathan Froyd
b1033d7f74 Bug 993546 - refactor malloc-wrapping memory reporter implementations; r=njn 2014-04-08 13:51:20 -04:00
Márk Bartos
d3ef852c31 Bug 106787 - Fix: Remove nsIAllocator and it's references. r=bsmedberg 2014-04-14 17:20:45 +02:00
Eric Rahm
ba8b77a271 Bug 995345 - Improve efficiency of NS_DescribeCodeAddress. r=froydnj
--HG--
extra : rebase_source : ab839d1898d9fe122f2519a657391437dc7216bc
2014-04-14 13:25:04 -07:00
Boris Zbarsky
438ebc3f4e Bug 995047. Change out stack/exception APIs to hand out AString instead of AUTF8String for filename/functionname, so we end up with fewer string conversions in practice. r=smaug 2014-04-11 22:20:40 -04:00
Jed Davis
9f8b3629ca 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
58d5acde55 Bug 991412: Provide static convenience method to retrieve RSS. r=njn 2014-04-07 10:46:20 -04:00
Maksim Lebedev
2af751cef5 Bug 968148 - Implement PointerCapture for pointer events. r=smaug
--HG--
extra : rebase_source : 331cf187194c8827e4b75835e85b2d79fdc419c7
2014-04-04 10:09:10 -07:00
Jan Varga
9ec24dfafc Bug 856921 - Ensure that all quota failures are exposed to JS as QuotaExceededError. r=bent 2014-04-02 19:14:14 +02:00
Jim Blandy
66f80ce33f Bug 951855: Add omitted doc fix requested by smaug in patch review. DONTBUILD r=smaug 2014-04-01 21:30:42 -07:00
Jim Blandy
4837e42f09 Bug 951855: Improve documentation for nsICycleCollectionListener and nsICycleCollectionHandler. r=smaug 2014-04-01 21:12:08 -07:00
snigdha
9cc482da68 Bug 798033 - Headers should generally not do "using namespace" at file scope. r=jib, r=jmathies, r=rjesup, r=ekr, r=ncameron, r=blassey 2014-04-01 08:29:25 -04:00
Ehsan Akhgari
186680d83a Bug 798158 - Part 1: Use a pointer-sized type to store refcounts internally; r=bsmedberg 2014-03-27 16:38:33 -04:00
Ehsan Akhgari
156d7e387b Bug 798158 - Part 0: Do not treat format warnings as errors in a few directories; r=mshal 2014-03-27 16:38:20 -04:00
Jan Beich
8b26305527 Bug 988910 - Explictly include unistd.h for read/write/close calls. r=njn 2014-03-27 15:06:14 -04:00
Ryan VanderMeulen
a14baa39be Merge inbound to m-c. 2014-03-26 20:58:31 -04:00
Alphan Chen
34d5bff83c Bug 964636 - Part 2: Implement "about:service" framework core. r=dhylands 2014-03-20 10:52:11 +08:00
Alphan Chen
a0abfdd08c Bug 964636 - Part 1: Move common classes and functions out of nsMemoryInfoDumper. r=dhylands 2014-03-20 15:29:51 +08:00
Fabrice Desré
5f762ca086 Bug 980419 - Don't access preferences omt in nsMemoryInfoDumper.cpp r=bsmedberg 2014-03-21 13:50:44 -07:00
Nathan Froyd
4bb75e1989 Bug 984443 - get rid of #ifndef $OTHER_HEADER bits from xpcom/ as relics of a bygone era; r=ehsan 2014-03-17 12:20:47 -04:00
Andrew McCreight
a6b5bb9aa6 Bug 984665 - Change the extra shutdown CC assertion into a warning. r=smaug 2014-03-19 06:05:18 -07:00
Andrew McCreight
1cbf6e74d5 Bug 984685 - Add cycle collector efficiency to COLLECT_TIME_DEBUG logging. r=smaug 2014-03-19 06:05:17 -07:00
Eric Faust
e69bd971ed Bug 987750 - Add CC logging options for process specifiers. (r=mccr8) 2014-03-26 09:57:38 -07:00
Kyle Huey
817b5ccbd9 Bug 345123: Remove nsGetterAddRefs<T>'s operator nsISupports**. r=bsmedberg 2014-03-15 12:00:17 -07:00
Kyle Huey
b564544cf7 Bug 967364: Pass already_AddRefed by reference instead of by value. r=bsmedberg 2014-03-15 12:00:17 -07:00
Kyle Huey
65644eb5a0 Bug 967364: Privatize already_AddRefed::mRawPtr. r=bsmedberg 2014-03-15 12:00:15 -07:00
Wes Kocher
f7a4d641fc Merge inbound to m-c 2014-03-14 22:20:25 -07:00
Andrew McCreight
b2cea60a4b Bug 948755 - Log incremental cycle collector roots. r=smaug 2014-03-14 16:07:07 -07:00
Andrew McCreight
dafb753061 Bug 982847 - JSGCThingParticipant::Traverse should respect AllTraces. r=smaug 2014-03-14 16:07:07 -07:00
Yuan Xulei
9d543fd864 Bug 910412 - Implement |getRoot|, |createDirectory| and |get| for Directory. r=dhylands, r=smaug 2014-03-05 11:25:40 +08:00
Ehsan Akhgari
8d63d692dd Bug 982072 - Don't leak the argument passed to RegisterStrongMemoryReporter if we fail to get the service; r=froydnj 2014-03-11 14:15:27 -04:00
Ryan VanderMeulen
a154cec3e0 Backed out 5 changesets (bug 910412) for intermittent crash whack-a-mole.
Backed out changeset e3eb9463b3e1 (bug 910412)
Backed out changeset d5863d302bde (bug 910412)
Backed out changeset 422b66d4b1ca (bug 910412)
Backed out changeset 3431d59d752e (bug 910412)
Backed out changeset b1c0310cdac1 (bug 910412)
2014-03-11 12:17:03 -04:00
Andrew McCreight
c54675a8a9 Bug 981033 - Clear mActivelyCollecting before restarting CC. r=smaug 2014-03-11 07:34:35 -07:00
Yuan Xulei
d0efc292f4 Bug 910412 - Implement |getRoot|, |createDirectory| and |get| for Directory. r=dhylands, r=smaug 2014-03-05 11:25:40 +08:00
Jed Davis
76ab6d796b 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
Andrew McCreight
cb2d3b3251 Bug 978486 - Remove nsErrorService::mErrorStringBundleKeyMap. r=froydnj 2014-03-04 09:49:40 -08:00
Bobby Holley
611c847a27 Bug 975419 - Add a JS::TenuredHeap<JSObject*> overload to TraceCallbacks. r=mccr8,terrence 2014-03-03 08:53:42 -08:00
Jan Beich
66f56aca38 Bug 977457 - Move _GNU_SOURCE ifdef a little up to account for cxxabi.h from libcxxrt. r=ehsan 2014-03-03 10:29:08 -05:00
Andrew McCreight
0dbad2da13 Bug 977688 - Get rid of CC_AbortIfNull. r=smaug 2014-02-28 09:56:23 -08:00
Masatoshi Kimura
fdd301c353 Bug 972761 - Move WindowsVersion.h to MFBT. r=froydnj
--HG--
rename : xpcom/base/WindowsVersion.h => mfbt/WindowsVersion.h
2014-02-28 07:58:47 +09:00
Andrew McCreight
0353960345 Bug 962608 - Make PL_DHashTableInit infallible by default. r=briansmith,bsmedberg,ehsan,froydnj,jduell,jfkthame,roc,smaug 2014-02-27 10:04:09 -08:00
L. David Baron
c91b8791d1 Bug 976350 patch 2: Rename nsTraceRefcntImpl to nsTraceRefcnt. r=bsmedberg
Now that bug 975295 removed the obsolete wrapper class, we can rename
nsTraceRefcntImpl back to its correct pre-XPCOM-glue name,
nsTraceRefcnt.

The best part is that the one place where indentation should have needed
fixing, nsTraceRefcnt::DemangleSymbol, never had its indentation fixed
for the previous renaming.

--HG--
rename : xpcom/base/nsTraceRefcntImpl.cpp => xpcom/base/nsTraceRefcnt.cpp
rename : xpcom/base/nsTraceRefcntImpl.h => xpcom/base/nsTraceRefcnt.h
2014-02-26 13:36:36 -08:00
L. David Baron
03ba2e465b Bug 976350 patch 1: Move the contents of nsTraceRefcnt.h into nsISupportsImpl.h. r=bsmedberg
This makes sense since the file no longer contains anything with the
nsTraceRefcnt name in it, and it will allow renaming nsTraceRefcntImpl
back to nsTraceRefcnt.
2014-02-26 13:36:35 -08:00
Andrew McCreight
937585f08c Bug 975849 - Remove overly strict assertion from CycleCollectedJSRuntime::TraverseRoots to restore previous behavior. r=smaug 2014-02-26 13:18:17 -08:00
Gabriele Svelto
11bc10edd4 Bug 975434 - Remove the ability to cancel memory minimizations. r=njn 2014-02-25 16:37:30 +01:00
Ehsan Akhgari
0202c9a0e3 Backed out changeset 8d8165293e9b (bug 976372) because of Windows debug bustage on a CLOSED TREE 2014-02-24 23:01:54 -05:00
Ehsan Akhgari
0db909c03c Backed out changeset f74c9326b89c (bug 976247) because I landed the wrong patch :( 2014-02-24 21:07:37 -05:00
Ehsan Akhgari
32e2ca0af5 Bug 976372 - Remove support for compilers which lack support for dynamic_cast<void*>; r=dbaron
--HG--
extra : rebase_source : 83a23e3b8fa4462eb70a1844b555c7605162a497
2014-02-24 21:06:06 -05:00
Ehsan Akhgari
c102d49715 Bug 976247 - Remove a useless static keyword from mozilla::detail::DEAD; r=froydnj
--HG--
extra : rebase_source : e73444ec000f1e867651d39cf2aa6beaf88bf4f3
2014-02-24 19:37:34 -05:00
L. David Baron
7d750b2a18 Bug 975295 patch 2: Remove the nsITraceRefcnt interface and any instantiation of the nsTraceRefcntImpl object. r=bsmedberg 2014-02-24 15:27:53 -08:00
L. David Baron
91839ef80b Bug 939610: Return to printing stack walk addresses in uppercase hexidecimal rather than lowercase, since we have scripts depending on it. r=ted 2014-02-24 15:27:52 -08:00
Terrence Cole
a4dcc16612 Bug 956081 - Fix the CC's GC-has-been-run detection in the presence of GGC; r=mccr8
--HG--
extra : rebase_source : de945b8e2f4972cb8b563f17a95c66cbba86a902
2014-02-20 13:38:32 -08:00
Ehsan Akhgari
a8a0206da1 Bug 935778 - Part 1: Add RefCountType, a type compatible with nsrefcnt, to MFBT; r=dbaron,froydnj 2014-02-21 14:45:50 -05:00
Chris Peterson
91d5779d1b Bug 712939 - Replace JS_STATIC_ASSERT with static_assert outside js/ directory. r=BenWa r=bsmedberg r=mccr8 2014-02-17 22:10:50 -08:00
Ehsan Akhgari
5704b555e2 Bug 935778 - Part 0.2: Spray some MOZ_DECLARE_REFCOUNTED_TYPENAME across the tree 2014-02-20 21:33:49 -05:00
Andrew McCreight
833279b6b8 Bug 901597, part 2 - Add environment var to CC log only main or worker threads. r=smaug 2014-02-20 14:27:04 -08:00
Andrew McCreight
915a1940a3 Bug 901597, part 1 - Move CC logging logic into nsCCParams. r=smaug 2014-02-20 14:27:03 -08:00
Andrew McCreight
04756efc8f Bug 972940 - Rename XPCOM_CC_ env vars to MOZ_CC_. r=smaug,njn 2014-02-20 14:27:03 -08:00
Andrew McCreight
344c61d00e Back out bug 712939 for not getting fully reviewed. 2014-02-20 06:40:56 -08:00
Chris Peterson
56af4fda84 Bug 712939 - Replace JS_STATIC_ASSERT with static_assert outside js/ directory. r=mccr8 2014-02-17 23:56:19 -08:00
Andrew McCreight
0cc6333124 Backout bug 972940 for valgrind leaks on this CLOSED TREE 2014-02-19 17:20:48 -08:00
Andrew McCreight
3cb3bca6a3 Backout bug 901597 for valgrind leaks 2014-02-19 17:19:17 -08:00
Andrew McCreight
013dd784f5 Backout bug 901597 for valgrind leaks 2014-02-19 17:18:59 -08:00
Andrew McCreight
c47c19f9cd Bug 901597, part 2 - Add environment var to CC log only main or worker threads. r=smaug 2014-02-19 13:27:15 -08:00
Andrew McCreight
c2269e1629 Bug 901597, part 1 - Move CC logging logic into nsCCParams. r=smaug 2014-02-19 13:27:14 -08:00
Andrew McCreight
3f976fe0cf Bug 972940 - Rename XPCOM_CC_ env vars to MOZ_CC_. r=smaug 2014-02-19 13:27:14 -08:00
Eric Rahm
4ebc8a29dc Bug 972170 - Add zram reporting to about:memory. r=njn 2014-02-19 11:08:38 -08:00
Brian Hackett
2a9fd71c02 Bug 964059 - Share atoms compartment/zone between multiple runtimes, r=billm,bent. 2014-02-19 09:02:13 -07:00
Daniel Holbert
c516662c22 back out 3a8893b28489 (bug 712939) and 39adab158c17,16add78c43e3,37193db7e15b (bug 712873), for build bustage. 2014-02-19 00:15:51 -08:00
Chris Peterson
dcfc7e9c20 Bug 712939 - Replace JS_STATIC_ASSERT with static_assert outside js/ directory. r=mccr8 2014-02-17 23:56:19 -08:00
Justin Shrake
c53b5e864f Bug 972038 - Replace calls to GetMessageMoz with ToString to save callers from having to convert to UTF-8. r=jimm 2014-02-18 09:47:54 -05:00
Ehsan Akhgari
73b8879e45 Bug 973142 - Get rid of the MOZILLA_INTERNAL_API makefile variable; r=glandium
It's just as easy to directly set the preprocessor macro in the moz.build
files.  Using this variable doesn't really buy us anything.

This patch also removes unused code from rdf/tests/dsds.
2014-02-18 01:56:51 -05:00
Nicholas Nethercote
7cce3037c1 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
Masatoshi Kimura
5767cc440b Bug 970483 - Fix the logic to determine the pre-RTM Windows 7. r=bbondy 2014-02-12 23:49:06 +09:00
Andrew McCreight
02daa1568c Bug 966359 - Prevent FreeSnowWhite reentrance. r=smaug 2014-02-11 14:56:44 -08:00
Masatoshi Kimura
705f1bb1ab Bug 970483 - Part 1: Introduce IsWindowsBuildOrLater() and IsWin7RTMOrLater(). r=bbondy 2014-02-12 06:01:29 +09:00
Masatoshi Kimura
18d6c0f5ff Backed out changeset d7d447cac91b (bug 969762) for tp5 regression. 2014-02-12 06:01:29 +09:00
Mike Hommey
262e8724ba Bug 969800 - Fix nsMemoryReporterManager::GetVsize for !HAVE_VSIZE_AND_RESIDENT_REPORTERS and add GNU/kFreeBSD support to nsMemoryReporterManager. r=njn 2014-02-11 10:43:41 +09:00
Jeff Walden
815e4d5f22 Bug 969165 - Convert Atomic<T> where T != bool but is used as a bool over to Atomic<bool>, now that it's supported, in xpcom/. r=froydnj
--HG--
extra : rebase_source : 4b4e47e4246c3764f1b8d50a308b7a717c53a865
2014-02-06 22:05:24 -08:00
Ehsan Akhgari
d91d200572 Bug 969757 - Remove the dead code in our tree which pretends to support OS/2; r=roc,mcmanus,gps,jorendorf,bsmedberg sr=bsmedberg 2014-02-10 17:57:01 -05:00
Masatoshi Kimura
679ef4d260 Bug 969762 - Support non-ASCII dump() messages on Windows. r=jimm 2014-02-11 05:50:16 +09:00
Neil Rashbrook
5c623b13c4 Bug 969324 Remove unnecessary ReporterEnumerator r=njn 2014-02-10 19:26:08 +00:00
Thomas Zimmermann
2102159214 Bug 968849: Fix GCC warnings about uninitialized variables, r=froydnj 2014-02-06 17:57:38 +01:00
Nicholas Nethercote
9c25748c63 Bug 903131 - Add save GC/CC logs buttons to about:memory. r=njn,mccr8.
--HG--
extra : rebase_source : 56af9b89675394b5a219f699b96c1d26c00adc38
2014-01-31 14:43:08 -08:00
Chris Peterson
f6f08af0a0 Bug 965693 - Remove annoying "Printing XUL documents is not supported" error dialog. r=roc 2014-01-29 20:40:34 -08:00
Birunthan Mohanathas
02d0812720 Bug 828300 - Replace NS_ARRAY_LENGTH with mozilla::ArrayLength/MOZ_ARRAY_LENGTH. r=ehsan 2014-01-30 13:26:54 -05:00
Nathan Froyd
b6923671aa Bug 964415 - add include guards to nsMemoryReporterManager.h; r=njn 2014-01-27 14:54:37 -05:00
Bobby Holley
44cd3fcb36 Bug 958324 - Remove same-compartment security wrappers for WNs. r=peterv,r=mrbkap
We've fixed Components, and SOWs are new-binding only. Youpie!
2014-01-21 08:26:40 -08:00
Andrea Marchesini
0ba0cf3428 Bug 958816 - UUIDs updated to make strings in nsIStackFrame API sane CLOSED TREE 2014-01-20 18:47:35 +01:00
Andrea Marchesini
b66fa0e177 Bug 958816 - Make strings in nsIStackFrame API sane, r=bz 2014-01-20 17:51:41 +01:00
Nathan Froyd
29bd66584a Bug 960700 - delete incorrect comment from nsStackWalk.cpp; r=ehsan 2014-01-16 14:53:04 -05:00
Ryan VanderMeulen
4578dde0df Backed out changeset 965cf4cbedc8 (bug 958816) for mochitest crashes.
CLOSED TREE
2014-01-17 10:20:05 -05:00
Andrea Marchesini
697ba5a8a2 Bug 958816 - Make strings in nsIStackFrame API sane, r=bz 2014-01-17 15:24:03 +01:00
Nathan Froyd
a671e699c6 Bug 901022 - write to MOZ_TRACE_FILE when the visual event tracer is stopped; r=honzab
DONTBUILD because NPOTB
2013-07-25 12:21:58 -04:00
Olli Pettay
77759a327d Bug 958315 - Suspect JS things released by dying C++ objects in the next CC, r=mccr8 2014-01-14 22:23:59 +02:00
Jed Davis
a693e40605 Bug 948204 - Add pmem regions to the system memory report. r=njn 2014-01-14 10:03:31 -05:00
Steven Michaud
dd64672e33 Bug 956310 - DMD builds fail on Mac OS X. r=bgirard 2014-01-08 17:06:22 -06:00
Marina Samuel
8d3cdd80b7 Bug 950986: Use ToDouble() to convert version to a double independent of locale. r=doug.turner 2014-01-08 12:22:24 -05:00
Andrew McCreight
b0d96345f5 Bug 956080 - Rename BeginCycleCollection to TraverseRoots. r=smaug 2014-01-07 17:33:47 -08:00
Boris Zbarsky
72e2ce7440 Bug 932837 part 2. Create a refcounted object to manage the lifetime of a JS::StackDescription. r=mccr8, terrence 2014-01-07 19:53:17 -05:00
Birunthan Mohanathas
d05644b6b3 Bug 784739 - Switch from NULL to nullptr in remaining directories; r=ehsan
--HG--
extra : rebase_source : 1ff19b2c8fd0e77fa8e822f5007a9fa3a6b6d474
2014-01-06 10:06:04 -05:00
Jeff Walden
5d3f01c937 Bug 953296 - Implement mozilla::NullptrT as a typedef to use to accept nullptr values. Also add mozilla::IsNullPointer<T>, a trait for detecting *only* true nullptr (emulated nullptr [__null] used by gcc 4.4/4.5 isn't true nullptr). r=ehsan
Generally, if you want a decltype(nullptr)-based overload, you should use SFINAE and IsNullPointer.  (Examples are provided in NullPtr.h comments.)  The problem is NullptrT matches far more than just __null as emulated nullptr for gcc 4.4/4.5 overloading purposes.  This problem is unavoidable without true nullptr.  Currently, the only valid use for NullptrT is believed to be in operator overloads.  All existing nullptr-overloading code has been rewritten to use the appropriate technique for the situation, and MOZ_HAVE_CXX11_NULLPTR is no longer an API.

--HG--
extra : rebase_source : 01abfcb66ae569db7b04a7b53f5cd5fd8151bffd
2014-01-02 17:27:41 -06:00
Ehsan Akhgari
60eb19e15a Bug 884368 - Part 1: Add a memory reporter for AudioContexts; r=roc,njn 2014-01-04 13:15:41 -05: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
Ehsan Akhgari
75a3c1b080 Bug 758992 follow-up - Mark DoNothingCallback final to avoid compiler warnings; blanket-r=bzbarsky 2014-01-03 09:54:32 -05:00
Nicholas Nethercote
ff52f4208f Bug 955942 (part 3) - Merge the heap reporters. r=mccr8.
--HG--
extra : rebase_source : f836b1b2de9c850fa3d956bf6ef92a7c6c504fce
2014-01-02 15:19:08 -08: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
Andrew McCreight
91646dadb8 Bug 950959 - Rename scheduled cycle collector stuff to slice. r=smaug 2014-01-01 11:00:35 -08:00
Andrew McCreight
64258f4913 Bug 950949 - Run forgetSkippable per CC not per slice. r=smaug 2014-01-01 11:00:35 -08:00
Ms2ger
561cae4a0e Bug 950130 - Move more INCLUDES / LOCAL_INCLUDES to moz.build; r=mshal 2013-12-31 10:06:11 +01:00
Andrew McCreight
53e4433905 Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-22 09:58:19 -05:00
Ted Mielczarek
691df07b08 bug 918389 - move XPCOM abort messages into separate crash annotations. r=bsmedberg
--HG--
extra : rebase_source : d1762cb08c795020e2ca7612b903cd1f3d5ade50
2013-12-20 10:11:16 -05:00
Ryan VanderMeulen
e8e36d08b0 Backed out changesets ccdc3d4f4571, 4dcc91e771e3, 0ae14946314b, and 94d22ab0b17f (bug 937960) for Windows 7 debug xpcshell failures. 2013-12-19 16:57:55 -05:00
Ehsan Akhgari
76f262cff3 Bug 950856 - Fail the build if you attempt to use NS_StackWalk on Windows where it won't work; r=froydnj,BenWa 2013-12-18 15:03:11 -05:00
Isura Edirisinghe
ffae418d41 Bug 676907 - Refactor (replace) calls to Gestalt because it is deprecated in OS X 10.8 and will not work in after 10.9. r=BenWa 2013-12-19 11:42:19 -05:00
Andrew McCreight
03a8a8e082 Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-18 21:22:55 -08:00
Ryan VanderMeulen
96ec232042 Backed out changesets b03bd1170d1c, 419615a1195d, a1b699b80442, and 524c573fd8a6 (bug 937960) for Win7 debug xpcshell orange. 2013-12-18 19:04:11 -05:00
Ryan VanderMeulen
0d91cad5c8 Backed out changeset fc0610680d3b (bug 950856) for Windows bustage.
CLOSED TREE
2013-12-18 16:01:44 -05:00
Ehsan Akhgari
54a364d5ac Bug 950856 - Fail the build if you attempt to use NS_StackWalk on Windows where it won't work; r=froydnj,BenWa
--HG--
extra : rebase_source : 914250c939e4666f4a8630f7e9e57e466b669259
2013-12-18 15:03:11 -05:00
Andrew McCreight
890aa014bf Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-18 11:42:16 -08:00
Andy Wingo
0efae2b21b Bug 951483 - Add back nsCycleCollector::ShutdownCollect assertion that was mistakenly removed in bug 945813. r=mccr8 2013-12-18 11:01:32 +01:00
Nils Maier
ec65c8410d Bug 950391 - Add nsIMemoryReporterManager.unregisterStrongReporter. r=njn
Also do not allow to register non-native components as weak reporters.
2013-12-18 13:00:03 -05:00
Andrew McCreight
11f2c0ea43 Bug 937818, part 4 - Exceeded refcount nodes should already be black. r=smaug
Due to graph mutation during an incremental cycle collection, objects in the CC graph
may end up with more things pointing to them than they have a ref count. However, these
objects should never become garbage.
2013-12-17 19:29:57 -08:00
Andrew McCreight
ab69eca538 Bug 937818, part 3 - Add ScanIncrementalRoots(). r=smaug
Any object that has been stored away somewhere in the middle of incremental graph
building must be treated as live, because we can't trust that the CC graph has
accurate information about it. If such an object is truly garbage, we'll unlink it
in the next cycle collection instead.
2013-12-17 19:29:57 -08:00
Andrew McCreight
76b4feac36 Bug 937818, part 1 - Add objects to the purple buffer on AddRef. r=smaug
ICC uses this to track objects that have been AddRef'd during ICC graph building.
For those objects, we may not have the proper information for them, so treat them
as live.
2013-12-17 19:29:57 -08:00
Carsten "Tomcat" Book
dd80853527 Backed out changeset 261091719842 (bug 937818) for static rooting hazard analysis bustage on a CLOSED TREE 2013-12-17 09:20:51 +01:00
Carsten "Tomcat" Book
f1d19f75cb Backed out changeset a9715a3b0e13 (bug 937818) for static rooting hazard analysis bustage on a CLOSED TREE 2013-12-17 09:20:31 +01:00
Carsten "Tomcat" Book
ad47674f4c Backed out changeset ae01d2862600 (bug 937818) for static rooting hazard analysis bustage on a CLOSED TREE 2013-12-17 09:20:10 +01:00
Andrew McCreight
31e4486875 Bug 937818, part 4 - Exceeded refcount nodes should already be black. r=smaug
Due to graph mutation during an incremental cycle collection, objects in the CC graph
may end up with more things pointing to them than they have a ref count. However, these
objects should never become garbage.
2013-12-16 21:30:54 -08:00
Andrew McCreight
4b11c4307f Bug 937818, part 3 - Add ScanIncrementalRoots(). r=smaug
Any object that has been stored away somewhere in the middle of incremental graph
building must be treated as live, because we can't trust that the CC graph has
accurate information about it. If such an object is truly garbage, we'll unlink it
in the next cycle collection instead.
2013-12-16 21:30:53 -08:00
Andrew McCreight
3145a6bc8f Bug 937818, part 1 - Add objects to the purple buffer on AddRef. r=smaug
ICC uses this to track objects that have been AddRef'd during ICC graph building.
For those objects, we may not have the proper information for them, so treat them
as live.
2013-12-16 21:30:53 -08:00
Nicholas Nethercote
12910b47d0 Bug 945973 (part 4) - Add SystemMemoryReporter, which presents Linux-specific, system-wide memory measurements taken from the OS. r=glandium.
--HG--
extra : rebase_source : 032d1d2944b790ac9e9e4d7f18c8ac9d79858ef3
2013-12-04 19:32:50 -08:00
Nicholas Nethercote
da333f0919 Bug 945973 (part 2) - Don't complain if there aren't any "explicit" reports for a process. r=mccr8.
--HG--
extra : rebase_source : 05129260b8a3e7cfbdadcecffe4c18715254323c
2013-12-03 20:19:41 -08:00
Nicholas Nethercote
51c80b126d Bug 945973 (part 1) - Remove about:memory's is-a-sentence description check. r=mccr8.
--HG--
extra : rebase_source : bf47145a953a23b73fa1e7c441b695ffeceafbb8
2013-12-03 20:10:59 -08:00
Wes Kocher
51be634cd2 Backed out changeset ef0eeaec74a8 (bug 949183) on the theory that it somehow broke every single b2g test on a CLOSED TREE 2013-12-16 18:27:43 -08:00
Sean Stangl
59305924cb Bug 949183 - Fix jsid static constructor explosion. r=Waldo 2013-12-16 14:40:05 -08:00
Trevor Saunders
d43c55ca0e bug 949821 - use MOZ_UTF16 more and NS_LITERAL_STRING less r=froydnj 2013-12-12 20:50:01 -05:00
Mike Hommey
62d390485a Bug 945042 - Move NO_PROFILE_GUIDED_OPTIMIZE to moz.build. r=gps,r=njn 2013-12-09 13:39:26 +09:00
Bobby Holley
15c62b0a5a Bug 937317 - Implement basic script settings stack machinery. r=bz 2013-12-11 17:51:57 -08:00
Jan Beich
07c26e237c Bug 948833 - Explicitly include <algorithm> for std::max on FreeBSD. r=njn 2013-12-11 10:35:33 -05:00
Andrew McCreight
7761ae065a Bug 948686 - Remove unused variable declaration. r=njn 2013-12-11 10:35:13 -05:00
Ryan VanderMeulen
7a6613cc88 Merge m-c to inbound. 2013-12-10 15:48:16 -05:00
Ryan VanderMeulen
2b769f4918 Merge fx-team to m-c. 2013-12-10 15:39:40 -05:00
Marina Samuel
9a50127b7c Bug 945842: Show Metro bookmarks folder in Windows 8 only. r=bbondy 2013-12-10 13:42:16 -05:00
Carsten "Tomcat" Book
a0bb585098 Backed out changeset 85196889c598 (bug 945042) PGO Test Bustage 2013-12-09 13:00:59 +01:00
Carsten "Tomcat" Book
a656f5e85d merge mozilla-inbound to mozilla-central 2013-12-09 09:02:29 +01:00
Mike Hommey
c63c0a68f5 Bug 945042 - Move NO_PROFILE_GUIDED_OPTIMIZE to moz.build. r=gps,r=njn 2013-12-09 13:39:26 +09:00
Birunthan Mohanathas
3440613a39 Bug 713082 - Part 2: Rename Util.h to ArrayUtils.h. r=Waldo
--HG--
rename : mfbt/Util.h => mfbt/ArrayUtils.h
2013-12-08 21:52:54 -05:00
Nicholas Nethercote
8450156576 Bug 947802 (part 2) - Replace enumerateReporters() with getReportsForThisProcess(). r=mccr8.
--HG--
extra : rebase_source : 1c70e838e3600745f69c5772a084398f78d4c477
2013-12-01 16:29:37 -08:00
Nicholas Nethercote
c421917f2f Bug 947802 (part 1) - Inline DumpReport(). r=mccr8.
--HG--
extra : rebase_source : f5c8a655e88dc7641c2a9971d1174b0d689bf3b4
2013-12-01 16:14:26 -08:00
Nicholas Nethercote
8bbe1e2dc1 Bug 947798 (part 2) - Remove MemoryMultiReporter, because it's no longer helpful. r=mccr8.
--HG--
extra : rebase_source : f6f74de69d8c1d79d38b84b19dff5439efc41075
2013-12-07 21:39:47 -08: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
Benjamin Smedberg
38179b9678 Bug 946877 followup - move nsDebugImpl.cpp out of unified sources so that it relaly isn't part of PGO, r=ted 2013-12-10 12:26:53 -05:00
Andrew McCreight
4fee07359d Bug 947719 - Call Checkpoint on every slice in nsCycleCollector::MarkRoots. r=smaug 2013-12-10 08:07:20 -08:00
Phil Ringnalda
cacf62c269 Back out 35371620801a:bf2019278b77 (bug 937317) for gaia-ui-test bustage and frequent timeouts in its own test 2013-12-07 11:08:56 -08:00
Bobby Holley
e509129d09 Bug 937317 - Implement basic script settings stack machinery. r=bz 2013-12-06 12:01:41 -08:00
Andrew McCreight
cff1ba464d Bug 937766, part 5 - Implement PrepareForGarbageCollection. r=smaug
Running the garbage collector can cause objects in the CC graph to
die, so just finish off an incremental cycle collection when we
start a GC.
2013-12-06 10:17:20 -08:00
Andrew McCreight
c646a8c5ef Bug 937766, part 4 - Add GCGraph::IsEmpty method. r=smaug 2013-12-06 10:17:20 -08:00
Andrew McCreight
625ea25bce Bug 937766, part 3 - Add mParticipant null checks. r=smaug
When an object dies during an incremental cycle collection, we null out
its mParticipant, so we must add various null checks to avoid crashing
when we reach the CC graph representation of an object that has died.
2013-12-06 10:17:20 -08:00
Andrew McCreight
d1f30059ad Bug 937766, part 2 - Make SnowWhiteKiller remove dying things from the CC graph. r=smaug
If we purge snow white objects while ICC is in progress, we need to
make sure to remove anything from the CC graph to avoid dangling pointers.
We don't need to do that after shutdown.
2013-12-06 10:17:20 -08:00
Andy Wingo
5d9420d02c Bug 945813 - Paper over cycle collection problem in IndexedDB. r=mccr8, r=khuey 2013-12-04 14:53:25 +01:00
Benjamin Smedberg
a937b2c32a Bug 946877 - Don't PGO nsDebugImpl.cpp, to see if that aids stackwalking around NS_OOM_ABORT, r=ted 2013-12-06 09:00:07 -05:00
Carsten "Tomcat" Book
3d08bfcd63 Backed out changeset 004fa11e352a (bug 937317) WinXP Build Bustage on a CLOSED TREE 2013-12-06 08:42:40 +01:00
Bobby Holley
a20556f563 Bug 937317 - Implement basic script settings stack machinery. r=bz 2013-12-05 21:34:16 -08:00
Jan Beich
1c770cae96 Bug 946560 - Dump about:memory upon receiving a signal on FreeBSD as well. r=njn 2013-12-05 09:38:46 -05:00
Nicholas Nethercote
b413e441cf Bug 943660 (part 2) - Remove remnants of Remove nsIMemoryReporter::name.
--HG--
extra : rebase_source : 900bd1c641b26623cccf14d952b5387223b489eb
2013-12-03 20:01:24 -08:00
Jacek Caban
e2cd5ba18b Bug 944905 - Fixed char16_t/wchar_t mismatch in xpcom/ r=bsmedberg 2013-12-04 13:19:09 +01:00
Ryan VanderMeulen
70aeae383f Backed out changeset 2572592c326d (bug 945813) for Linux64 debug xpcshell crashes.
CLOSED TREE
2013-12-03 20:35:03 -05:00
Andy Wingo
a9d2f530d9 Bug 945813 - Paper over cycle collection problem in IndexedDB. r=mccr8, r=khuey 2013-12-03 18:35:04 +01:00
Andrew McCreight
ea3497e170 Bug 937751, part 7 - Incrementalize nsCycleCollector::MarkRoots. r=smaug
Now that all of MarkRoots's state is stored on the heap, it can be run
incrementally. Like with Collect, it takes a budget to determine how
long it can run. Any residual budget will be available to the caller.

One difference is that Collect calls checkOverBudget() which always checks
the time, but MarkRoots uses isOverBudget() to determine if there is
any time remaining. This only checks the current time every
kNumNodesBetweenTimeChecks nodes, to reduce the overhead of checking.
2013-12-03 10:47:47 -08:00
Andrew McCreight
bd8bf20017 Bug 937751, part 6 - Allocate the current MarkRoots node on the heap rather than the stack. r=smaug
To make nsCycleCollector::MarkRoots incremental, we have to store all of its state on
the heap, so we can resume it.  The only remaining state to convert is the NodePool
enumerator.
2013-12-03 10:47:47 -08:00
Andrew McCreight
bbd56bb6f1 Bug 937751, part 5 - Add optional phase logging. r=smaug
For debugging purposes, it can be useful to see what ICC is currently
being run.
2013-12-03 10:47:47 -08:00
Andrew McCreight
5e100e7681 Bug 937751, part 4 - Incrementalize nsCycleCollector::Collect. r=smaug
This patch makes it so that Collect takes a time budget that describes
how much longer the collection can be run for. Then we run the current phase.
Once this is done, we check whether we have exceeded our time budget or
if we have finished a collection. If neither of those have happened, we
run the cycle collector some more.

If we're a manually triggered CC, and we were in the middle of an ICC when
the CC started, then once the current CC is complete, we start a new CC
immediately. This is needed to ensure that a manually specified listener
is used, and to ensure that any garbage objects the caller expects to be
collected are in fact collected.

Note that in this patch we are always passing in an unlimited budget to
Collect, so cycle collections will always be run to completion.
2013-12-03 10:47:47 -08:00
Andrew McCreight
c77f88b2f3 Bug 937751, part 3 - Protect against reentrancy with when incrementally CCing. r=smaug
Cycle collection protects against reentrancy by setting a flag to indicate a collection
is in progress. With synchronous CC, it is okay to set this in BeginCollection, and
clear it in CleanupAfterCollection. With ICC, this must be set and cleared in every
slice, so I moved the fixing of it to Collect.  I also changed the name of the variable,
because we can be in the middle of an ICC without the CC being actively running,
and it is only the latter we are worried about here.
2013-12-03 10:47:47 -08:00
Andrew McCreight
33eaf2c4b9 Bug 937751, part 1 - Add and set incremental cycle collection phases. r=smaug 2013-12-03 10:47:46 -08:00
Andrew McCreight
d7d019c197 Bug 938407 - Null check FinishReportingCallback::mFinishDumping. r=froydnj 2013-12-02 13:11:43 -08:00
Jan Beich
6abc88d9b7 Bug 945046 - Implement private and vsize-max-contiguous reporters on FreeBSD. r=njn, r=glandium 2013-12-02 12:51:27 -05:00
Jan Beich
8458ddac1a Bug 945046 - Move private, vsize-max-contiguous class implementation under their own ifdef. r=njn 2013-12-02 12:51:26 -05:00
Aaron Klotz
319194253b Bug 944529: Obtain HDD info for GRE path and Windows directory; r=froydnj 2013-12-02 10:41:44 -07:00
Ryan VanderMeulen
293e5c3400 Merge m-c to inbound. 2013-12-02 10:34:41 -05:00
Carsten "Tomcat" Book
6fdc9145d7 merge mozilla-inbound to mozilla-central 2013-12-02 12:41:55 +01:00
Brian R. Bondy
f1bacf4855 Bug 944434 - Updates from Desktop launch Metro to perform the update. r=emtwo 2013-11-29 07:24:55 -05:00
Carsten "Tomcat" Book
2bd99eb2d7 merge fx-team to mozilla-central 2013-11-29 10:13:09 +01:00
Masatoshi Kimura
01ea0e8fba Bug 942402 - Add version test functions for Thunderbird. r=jimm 2013-12-03 00:01:48 +09:00
Marina Samuel
ef2d108ec4 Bug 934032 - Add View on Metro feature to Desktop Firefox in Australis. r=bbondy 2013-11-19 13:06:58 -05:00
Catalin Iacob
178490a226 Bug 819839 - Part 1 - Allow NS_StackWalk to be called during static initialization on Windows. r=ehsan 2013-11-29 16:08:43 +01:00
Nicholas Nethercote
80c840bc7e Bug 936964 (part 3, attempt 2) - Make nsCycleCollector ref-counted. r=mccr8.
--HG--
extra : rebase_source : ebda496b8cba0464280eb0dc7bae9aca137e2e25
2013-11-25 15:57:53 -08: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
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
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
49c091bbb1 Bug 936964 (part 3) - Make nsCycleCollector ref-counted. r=mccr8.
--HG--
extra : rebase_source : f781c197b20354eda4622d436d5ef3429ce2481b
2013-11-25 15:57:53 -08: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
Bobby Holley
ef0b93b31e Bug 911303 - Remove manual Destroy() routine from CycleCollectedJSRuntime. r=billm 2013-11-27 10:10:25 -08:00