Commit Graph

1516 Commits

Author SHA1 Message Date
Ehsan Akhgari
22eada1dd3 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
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
Masatoshi Kimura
e64f747483 Bug 970483 - Fix the logic to determine the pre-RTM Windows 7. r=bbondy 2014-02-12 23:49:06 +09:00
Andrew McCreight
63f3eea700 Bug 966359 - Prevent FreeSnowWhite reentrance. r=smaug 2014-02-11 14:56:44 -08:00
Masatoshi Kimura
8487cb2318 Bug 970483 - Part 1: Introduce IsWindowsBuildOrLater() and IsWin7RTMOrLater(). r=bbondy 2014-02-12 06:01:29 +09:00
Masatoshi Kimura
0a3d8da618 Backed out changeset d7d447cac91b (bug 969762) for tp5 regression. 2014-02-12 06:01:29 +09:00
Mike Hommey
65c65c7c42 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
6e04ad5a6a 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
82ebdc883f 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
590e1730d2 Bug 969762 - Support non-ASCII dump() messages on Windows. r=jimm 2014-02-11 05:50:16 +09:00
Neil Rashbrook
d55e0744c8 Bug 969324 Remove unnecessary ReporterEnumerator r=njn 2014-02-10 19:26:08 +00:00
Thomas Zimmermann
ce9205d6eb Bug 968849: Fix GCC warnings about uninitialized variables, r=froydnj 2014-02-06 17:57:38 +01:00
Nicholas Nethercote
69c6f9882e 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
cf2bfd13b3 Bug 965693 - Remove annoying "Printing XUL documents is not supported" error dialog. r=roc 2014-01-29 20:40:34 -08:00
Birunthan Mohanathas
89f96b243e Bug 828300 - Replace NS_ARRAY_LENGTH with mozilla::ArrayLength/MOZ_ARRAY_LENGTH. r=ehsan 2014-01-30 13:26:54 -05:00
Nathan Froyd
62e203515c Bug 964415 - add include guards to nsMemoryReporterManager.h; r=njn 2014-01-27 14:54:37 -05:00
Bobby Holley
50f9d2007f 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
c06ff4f6c3 Bug 958816 - UUIDs updated to make strings in nsIStackFrame API sane CLOSED TREE 2014-01-20 18:47:35 +01:00
Andrea Marchesini
982b9946ab Bug 958816 - Make strings in nsIStackFrame API sane, r=bz 2014-01-20 17:51:41 +01:00
Nathan Froyd
2cc49bb06f Bug 960700 - delete incorrect comment from nsStackWalk.cpp; r=ehsan 2014-01-16 14:53:04 -05:00
Ryan VanderMeulen
530a6b72eb Backed out changeset 965cf4cbedc8 (bug 958816) for mochitest crashes.
CLOSED TREE
2014-01-17 10:20:05 -05:00
Andrea Marchesini
2cdda17e77 Bug 958816 - Make strings in nsIStackFrame API sane, r=bz 2014-01-17 15:24:03 +01:00
Nathan Froyd
27baf5b8e9 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
25af73b606 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
bcc19725d4 Bug 948204 - Add pmem regions to the system memory report. r=njn 2014-01-14 10:03:31 -05:00
Steven Michaud
c78054cb8b Bug 956310 - DMD builds fail on Mac OS X. r=bgirard 2014-01-08 17:06:22 -06:00
Marina Samuel
44ddd39dd4 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
f9daafed1e Bug 956080 - Rename BeginCycleCollection to TraverseRoots. r=smaug 2014-01-07 17:33:47 -08:00
Boris Zbarsky
b90683e91c 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
dfbad43639 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
12220c1619 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
384530ea4e Bug 884368 - Part 1: Add a memory reporter for AudioContexts; r=roc,njn 2014-01-04 13:15:41 -05:00
Ehsan Akhgari
eaa7491d77 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
6e482923ff Bug 758992 follow-up - Mark DoNothingCallback final to avoid compiler warnings; blanket-r=bzbarsky 2014-01-03 09:54:32 -05:00
Nicholas Nethercote
aef9fb7509 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
ed423fbdef Bug 955942 (part 2) - Remove MemoryUniReporter. r=mccr8.
--HG--
extra : rebase_source : 9d70016cb19637ffece6409a184bf41d574cc6b4
2013-12-07 22:09:10 -08:00
Nicholas Nethercote
a228c41d0b 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
48ba1d90e6 Bug 950959 - Rename scheduled cycle collector stuff to slice. r=smaug 2014-01-01 11:00:35 -08:00
Andrew McCreight
a33e4dd29e Bug 950949 - Run forgetSkippable per CC not per slice. r=smaug 2014-01-01 11:00:35 -08:00
Ms2ger
6c7c16c6b2 Bug 950130 - Move more INCLUDES / LOCAL_INCLUDES to moz.build; r=mshal 2013-12-31 10:06:11 +01:00
Andrew McCreight
b4703a0481 Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-22 09:58:19 -05:00
Ted Mielczarek
a8dc1906bb 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
e4ef933d12 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
a7d96f6225 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
3eedf5ced4 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
0c6b052b16 Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-18 21:22:55 -08:00
Ryan VanderMeulen
2d5b945f2d 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
01410baa57 Backed out changeset fc0610680d3b (bug 950856) for Windows bustage.
CLOSED TREE
2013-12-18 16:01:44 -05:00
Ehsan Akhgari
55b50dec3f 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
ba157fe9fc Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-18 11:42:16 -08:00
Andy Wingo
463eca9016 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
dd0aa3f370 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
b2c805070f 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
84c4a3a065 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
c815051008 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
9893f955b9 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
867803f1f1 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
626de9c65a 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
d6c85c988a 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
66b7068181 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
e495d831e0 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
3b7c5d2e8c 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
c5dab89370 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
392bf9cb31 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
34a2e0d974 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
d081b211ae Bug 949183 - Fix jsid static constructor explosion. r=Waldo 2013-12-16 14:40:05 -08:00
Trevor Saunders
c2b2fcd3d4 bug 949821 - use MOZ_UTF16 more and NS_LITERAL_STRING less r=froydnj 2013-12-12 20:50:01 -05:00
Mike Hommey
255ad3e210 Bug 945042 - Move NO_PROFILE_GUIDED_OPTIMIZE to moz.build. r=gps,r=njn 2013-12-09 13:39:26 +09:00
Bobby Holley
acafd45da4 Bug 937317 - Implement basic script settings stack machinery. r=bz 2013-12-11 17:51:57 -08:00
Jan Beich
f337a85fe9 Bug 948833 - Explicitly include <algorithm> for std::max on FreeBSD. r=njn 2013-12-11 10:35:33 -05:00
Andrew McCreight
0fe31cfffa Bug 948686 - Remove unused variable declaration. r=njn 2013-12-11 10:35:13 -05:00
Ryan VanderMeulen
a762d43c40 Merge m-c to inbound. 2013-12-10 15:48:16 -05:00
Ryan VanderMeulen
ea9bd0cd52 Merge fx-team to m-c. 2013-12-10 15:39:40 -05:00
Marina Samuel
1916b878aa Bug 945842: Show Metro bookmarks folder in Windows 8 only. r=bbondy 2013-12-10 13:42:16 -05:00
Carsten "Tomcat" Book
45f6bd17d4 Backed out changeset 85196889c598 (bug 945042) PGO Test Bustage 2013-12-09 13:00:59 +01:00
Carsten "Tomcat" Book
2810be48a5 merge mozilla-inbound to mozilla-central 2013-12-09 09:02:29 +01:00
Mike Hommey
43fe8673a0 Bug 945042 - Move NO_PROFILE_GUIDED_OPTIMIZE to moz.build. r=gps,r=njn 2013-12-09 13:39:26 +09:00
Birunthan Mohanathas
58325c73be 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
cc1728f40f 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
a1ab7d495c Bug 947802 (part 1) - Inline DumpReport(). r=mccr8.
--HG--
extra : rebase_source : f5c8a655e88dc7641c2a9971d1174b0d689bf3b4
2013-12-01 16:14:26 -08:00
Nicholas Nethercote
e02408b49d 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
67495eb7f8 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
94fd1ea978 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
be2fa1b31a Bug 947719 - Call Checkpoint on every slice in nsCycleCollector::MarkRoots. r=smaug 2013-12-10 08:07:20 -08:00
Phil Ringnalda
d1ba8751f2 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
1638458354 Bug 937317 - Implement basic script settings stack machinery. r=bz 2013-12-06 12:01:41 -08:00
Andrew McCreight
fc233f4fd9 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
25c7eeac00 Bug 937766, part 4 - Add GCGraph::IsEmpty method. r=smaug 2013-12-06 10:17:20 -08:00
Andrew McCreight
eee8ce345c 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
028de94cd5 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
330b422f6d Bug 945813 - Paper over cycle collection problem in IndexedDB. r=mccr8, r=khuey 2013-12-04 14:53:25 +01:00
Benjamin Smedberg
678c5c602c 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
7a75e7c08a Backed out changeset 004fa11e352a (bug 937317) WinXP Build Bustage on a CLOSED TREE 2013-12-06 08:42:40 +01:00
Bobby Holley
c311c9dc85 Bug 937317 - Implement basic script settings stack machinery. r=bz 2013-12-05 21:34:16 -08:00
Jan Beich
b049c45fc7 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
e9715bfc41 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
50a5638f29 Bug 944905 - Fixed char16_t/wchar_t mismatch in xpcom/ r=bsmedberg 2013-12-04 13:19:09 +01:00
Ryan VanderMeulen
12d73e49bf Backed out changeset 2572592c326d (bug 945813) for Linux64 debug xpcshell crashes.
CLOSED TREE
2013-12-03 20:35:03 -05:00
Andy Wingo
4bbd03c2c4 Bug 945813 - Paper over cycle collection problem in IndexedDB. r=mccr8, r=khuey 2013-12-03 18:35:04 +01:00
Andrew McCreight
f5b89ec477 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
a04a9c127e 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
f2778b1f8a 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
c2ec9d9510 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
13de622900 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
cbd2507ef1 Bug 937751, part 1 - Add and set incremental cycle collection phases. r=smaug 2013-12-03 10:47:46 -08:00
Andrew McCreight
6b569dc7df Bug 938407 - Null check FinishReportingCallback::mFinishDumping. r=froydnj 2013-12-02 13:11:43 -08:00
Jan Beich
90c93518d9 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
1e68373812 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
fc6cc3bdcf Bug 944529: Obtain HDD info for GRE path and Windows directory; r=froydnj 2013-12-02 10:41:44 -07:00
Ryan VanderMeulen
af07355144 Merge m-c to inbound. 2013-12-02 10:34:41 -05:00
Carsten "Tomcat" Book
27c3bf7bf5 merge mozilla-inbound to mozilla-central 2013-12-02 12:41:55 +01:00
Brian R. Bondy
16f1fc16bd Bug 944434 - Updates from Desktop launch Metro to perform the update. r=emtwo 2013-11-29 07:24:55 -05:00
Carsten "Tomcat" Book
aa2c8950fa merge fx-team to mozilla-central 2013-11-29 10:13:09 +01:00
Masatoshi Kimura
c9f185abca Bug 942402 - Add version test functions for Thunderbird. r=jimm 2013-12-03 00:01:48 +09:00
Marina Samuel
c4016d3e33 Bug 934032 - Add View on Metro feature to Desktop Firefox in Australis. r=bbondy 2013-11-19 13:06:58 -05:00
Catalin Iacob
a87d623970 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
6a89146a7a 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
374aa9dfb5 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
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
ea458181f9 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
f3b13f559e 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
6fe30b5795 Bug 911303 - Remove manual Destroy() routine from CycleCollectedJSRuntime. r=billm 2013-11-27 10:10:25 -08:00
Andrew McCreight
0b7c3e2a77 Bug 937966 - Clean up scan safe assertion in Suspect. r=smaug 2013-11-26 17:30:46 -05:00
Andrew McCreight
eaa17634f8 Bug 931738 - Remove nsPurpleBufferEntry from nsISupportsImpl.h. r=smaug 2013-11-26 14:29:59 -05:00
Ehsan Akhgari
59726a6996 Bug 942635 - Build dom/ipc in unified mode; r=bzbarsky 2013-11-26 11:39:19 -05:00
Benjamin Smedberg
09c0296c7a Bug 938794 - Annotate OOM size as infallible string or data structures abort, r=froydnj
--HG--
extra : rebase_source : f84278dfbba92c6d75458b525a559b6f8598500f
2013-11-25 15:06:17 -05:00
Wes Kocher
be1ec20396 Merge fx-team to m-c 2013-11-21 19:16:50 -08:00
Ehsan Akhgari
83e2251f24 Bug 941739 - Print the current process and thread information on XPCOM assertions and string leaks stats; r=froydnj 2013-11-21 14:17:35 -05:00
Chris Kitching
43102ed4c2 Bug 913985: Part 5 - Refactor the Bridge to use the generated code. r=kats 2013-11-12 10:41:01 -08:00
Carsten "Tomcat" Book
04f396a0c7 merge mozilla-inbound to mozilla-central 2013-11-21 14:20:21 +01:00
Nicholas Nethercote
1eb09100dc Bug 940069 - Backout a temporary debugging printf that runs on --enable-valgrind builds only, because it has served its purpose. r=me. 2013-11-20 00:27:00 -08:00
Alexander Surkov
a2c0e69c2e Bug 935698 - isolate nsIAccessibleValue implementation into separate class, r=tbsaunde 2013-11-19 16:01:15 -05:00
Andrew McCreight
08b67b0ec5 Bug 935721, part 10 - Separate nsCycleCollector_collect and nsCycleCollector_scheduledCollect. r=smaug 2013-11-20 14:35:17 -08:00
Andrew McCreight
4d92c18b57 Bug 935721, part 9 - Move mPtrToNodeMap into GCGraph. r=smaug
With ICC, we may have to remove things from the graph after we have finished building
the graph, so move the mapping to graph addresses into the graph itself to create a
more self-contained structure.
2013-11-20 14:35:17 -08:00
Andrew McCreight
109f8fb1a3 Bug 935721, part 8 - Add a reference to the graph to the graph builder. r=smaug
This moves towards letting the CC graph outlive the builder.
2013-11-20 14:35:16 -08:00
Andrew McCreight
3d8b9e987d Bug 935721, part 7 - Inline PrepareForCollection into BeginCollection. r=smaug
PrepareForCollection is trivial now, so just inline it.
2013-11-20 14:35:16 -08:00
Andrew McCreight
9c3c29695f Bug 935721, part 5 - Invert the control flow of CycleCollectNow's pre- and post-collection work, add CCResults as a field on the CC. r=smaug
nsJSEnvironment::CycleCollectNow does work before and after a CC runs. With ICC, nsJSEnv won't
know where in the CC when a CC is about to begin or end, so this patch reorganizes that work
into two separate callback hooks.  This requires adding a new struct, CycleCollectorStats, to
hold data nsJSEnv needs between the two calls.

Rather than trying to pass around a pointer to a results structure, this patch just adds
it to the nsCycleCollector struct, and always stores them. The results are passed back
to the end CC callback.
2013-11-20 14:35:16 -08:00
Andrew McCreight
c277987d70 Bug 935721, part 4 - Allocate white nodes array in CollectWhite. r=smaug
The white nodes array is only used in CollectWhite, so just allocate it there.
2013-11-20 14:35:16 -08:00
Andrew McCreight
1f195eaf59 Bug 935721, part 3 - Use RAII to set mScanInProgress, hoist out MarkRoots and ScanRoots. r=smaug
With ICC, mScanInProgress gets set and cleared a bunch of times so add an RAII class to turn
it on when we're doing stuff and clear it when we're not.

With that in place, we can easily move MarkRoots and ScanRoots out of BeginCollection
in preparation for making them separate phases in ICC.
2013-11-20 14:35:16 -08:00
Andrew McCreight
95a4e63f9c Bug 935721, part 2 - Allocate GCGraphBuilder on the heap. r=smaug
With ICC, the graph builder must persist across invocations of the CC,
so store it on the heap.
2013-11-20 14:35:15 -08:00
Andrew McCreight
bcec4369fd Bug 935721, part 1 - Store the listener pointer on the nsCycleCollector data structure. r=smaug
With ICC, the listener must persist across invocations of the CC, so store it on the CC.
2013-11-20 14:35:15 -08:00
Benjamin Smedberg
f2456d8d28 Bug 672843 part D - make NS_ERROR_INVALID_POINTER an alias of NS_ERROR_INVALID_ARG, r=froydnj 2013-11-19 16:27:37 -05:00
Benjamin Smedberg
dca2c2b5ab Bug 672843 part C - convert most of XPCOM except for xpcom/tests, r=vdjeric 2013-11-19 16:27:37 -05:00
Benjamin Smedberg
d866f6b84f Bug 672843 part B - Remove NS_ENSURE_PROPER_AGGREGATION, r=froydnj 2013-11-19 16:27:36 -05:00
Ryan VanderMeulen
7627a06670 Merge inbound to m-c. 2013-11-19 13:21:57 -05:00
Nicholas Nethercote
bcdbb4d8cc Bug 940069 - Land a temporary debugging printf that runs on --enable-valgrind builds only, because Valgrind runs aren't available on tryserver. r=me. 2013-11-18 23:13:15 -08:00
Mike Hommey
931cb49886 Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps
Landing on a CLOSED TREE.
2013-11-19 11:50:54 +09:00
Mike Hommey
db9e5129bc Bug 939074 - Remove most LIBXUL_LIBRARY. rs=gps 2013-11-19 11:48:10 +09:00