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
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
Andrew McCreight
4fee07359d
Bug 947719 - Call Checkpoint on every slice in nsCycleCollector::MarkRoots. r=smaug
2013-12-10 08:07:20 -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
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
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
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
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
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
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
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
Andrew McCreight
aecbe64228
Bug 937966 - Clean up scan safe assertion in Suspect. r=smaug
2013-11-26 17:30:46 -05:00
Andrew McCreight
685a29f9b1
Bug 931738 - Remove nsPurpleBufferEntry from nsISupportsImpl.h. r=smaug
2013-11-26 14:29:59 -05:00
Carsten "Tomcat" Book
b696d7931d
merge mozilla-inbound to mozilla-central
2013-11-21 14:20:21 +01:00
Nicholas Nethercote
6ebfdcab7c
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
Andrew McCreight
6663405c37
Bug 935721, part 10 - Separate nsCycleCollector_collect and nsCycleCollector_scheduledCollect. r=smaug
2013-11-20 14:35:17 -08:00
Andrew McCreight
e95cbc0c81
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
bb1468458b
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
e684f4cc71
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
96e1092a51
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
44bb1bc6e4
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
e4b1a62a1a
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
96d04bb502
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
6f67d60423
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
8fd1bc7f20
Bug 672843 part C - convert most of XPCOM except for xpcom/tests, r=vdjeric
2013-11-19 16:27:37 -05:00
Nicholas Nethercote
b82ef1a8fa
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
Olli Pettay
b1b4cf61fc
Bug 937303 - Make CC logger to pass information about compartments, r=mccr8
2013-11-12 15:53:51 +02:00
Wes Kocher
b4defcfe2f
Backed out changeset 3d769520a0be (bug 937303) for build bustage
2013-11-11 14:50:00 -08:00
Olli Pettay
bdbe7564bf
Bug 937303 - Make CC logger to pass information about compartments, r=mccr8
...
--HG--
extra : rebase_source : 48545d4c83d88f34773ca84e542aa13316ca38c6
2013-11-12 00:12:00 +02:00
Olli Pettay
50f8b65717
Bug 936789 - Faster CC logger, r=mccr8
2013-11-09 23:15:44 +02:00
Andrew McCreight
863ffe2480
Bug 934568 - Don't make ScanRoots CC OOM assertion fatal due to Win7 debug M2 failures. s=smaug
2013-11-06 16:58:13 -08:00
Nicholas Nethercote
3eae0dfea5
Bug 934321 - Add MemoryMultiReporter, a helper class that reduces some boilerplate, and convert all existing multi-reporters to use it. r=wchen.
...
--HG--
extra : rebase_source : a6110c3558c571b7908b63e8cc7ca21103098d0d
2013-11-06 14:58:20 +11:00
Benoit Jacob
00ed7105bd
Bug 934568 - Make cycle collector OOM assertions fatal in debug builds. r=mccr8
2013-10-27 07:51:31 -04:00
Jonas Finnemann Jensen
41edf8980c
Bug 902587 - Part 2A: Refactor late-write-checks as client of IO Interposer. r=BenWa
...
--HG--
rename : xpcom/build/mozPoisonWrite.h => xpcom/build/LateWriteChecks.h
rename : xpcom/build/mozPoisonWrite.h => xpcom/build/PoisonIOInterposer.h
rename : xpcom/build/mozPoisonWriteBase.cpp => xpcom/build/PoisonIOInterposerBase.cpp
rename : xpcom/build/mozPoisonWriteMac.cpp => xpcom/build/PoisonIOInterposerMac.cpp
rename : xpcom/build/mozPoisonWriteWin.cpp => xpcom/build/PoisonIOInterposerWin.cpp
2013-11-05 07:45:20 -05:00
Andrew McCreight
96267f1e9a
Bug 928647 - Remove CycleCollectedRuntime::mObjectToUnlink. r=smaug
2013-10-19 08:59:10 -07:00
Olli Pettay
08cf0e1d70
Bug 927813 - Some micro-optimizations for Suspect, r=mccr8
2013-10-17 17:05:13 +03:00
Birunthan Mohanathas
0244dd58be
Bug 784739 - Switch from NULL to nullptr in xpcom/ (1/3); r=ehsan
2013-10-10 16:41:00 -04:00
Thinker Lee ext:(%2C%20Cervantes%20Yu%20%3Ccyu%40mozilla.com%3E)
f5213d3e66
Bug 771765 - Support template content process, part 6: support re-creation of the threads created in the template process. r=khuey, r=jorendorff
...
The threads that are frozen/recreated include:
* ImageBridgeChildThread.
* Image decoding thread pool.
* IPC thread (checkpointed, but not frozen).
* GC Helper thread.
* XPC runtime watchdog thread.
* Socket transport service thread/thread pool.
* Memory pressure watcher.
* Timer thread.
* DOM promise worker.
2013-06-03 18:14:42 +08:00
Andrew McCreight
69e40bc338
Bug 915488 - Make CC participant's Root, Unroot and Unlink methods infallible. r=smaug
2013-09-11 18:57:53 -07:00
Ehsan Akhgari
83edc15195
Bug 917885 - Minimize the #includes in xpcom/base; r=bsmedberg
2013-09-19 14:29:31 -04:00
Ehsan Akhgari
5b80f8355d
Backed out changeset a8d6973e5743 (bug 917885) because I pushed the wrong patch
2013-09-19 14:27:35 -04:00
Ehsan Akhgari
17ae4f436e
Bug 917885 - Minimize the #includes in xpcom/base; r=bsmedberg
2013-09-19 14:12:56 -04:00
Nicholas Nethercote
7983bb2a7f
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
Andrew McCreight
34c84eb4f1
Bug 913666, part 5 - Rename aListener to aManualListener. r=smaug
...
The name "aListener" is not very descriptive, and with the previous patch, it is only
used to pass in a manually-specified listener that was passed in to CycleCollectNow,
so rename things.
2013-09-10 16:33:41 -07:00
Andrew McCreight
9297f8e56e
Bug 913666, part 4 - Sink free floating code from nsCycleCollector::Collect into BeginCollection. r=smaug
...
The hg diff for this commit is terrible, but all it is doing is taking the code
in nsCycleCollector::Collect from after PrepareForCollection through BeginCollection
and moving it into BeginCollection.
2013-09-10 16:33:41 -07:00
Andrew McCreight
5f53367674
Bug 913666, part 3 - Sink cycle collector listener selection into Collect. r=smaug
...
Move the two places we check global flags to decide if we want to use a listener, even if we
aren't passed in one. A later patch renames aListener to aForcedListener to make it less
confusing.
2013-09-10 16:33:40 -07:00
Andrew McCreight
61fc280328
Bug 913666, part 2 - Log cycle collector garbage at the same time we log roots. r=smaug
...
There's no reason to wait until CollectWhite to record what is garbage, and with incremental CC
we'll get more accurate logging by logging right away, rather than waiting until later when an
object may have gone away for some other reason.
2013-09-10 16:33:40 -07:00
Andrew McCreight
c97621b9aa
Bug 913666, part 1 - Move cycle collector root logging into ScanRoots. r=smaug
2013-09-10 16:33:39 -07:00
Andrew McCreight
946af7a12e
Bug 913881, part 6 - Measure weak map representations in the cycle collector graph. r=njn
...
Contrary to the comment here, I'm pretty sure this needs to be measured. mWeakMaps
is an array of little structs. Of course, in practice I doubt this amounts to anything.
2013-09-10 08:56:36 -07:00
Andrew McCreight
37a96c3566
Bug 913881, part 5 - Assert for freeing snow white during cycle collector scanning. r=smaug
...
If you call FreeSnowWhite when scanning is true, then objects that get released won't be added to the purple buffer, and you can get leaks.
2013-09-10 08:56:36 -07:00
Andrew McCreight
a52d562072
Bug 913881, part 4 - Change nsCycleCollector::ClearGraph to GCGraph::Clear. r=smaug
...
There's no reason I can see to have this in nsCC instead of GCGraph.
2013-09-10 08:56:36 -07:00
Andrew McCreight
ad32530a42
Bug 913881, part 3 - Fix argument name for GCGraphBuilder::AddNode. r=smaug
2013-09-10 08:56:35 -07:00
Andrew McCreight
1ccffa0309
Bug 913881, part 2 - Make a bunch of nsCycleCollector methods private. r=smaug
2013-09-10 08:56:35 -07:00
Andrew McCreight
cf8f801bff
Bug 913881, part 1 - Remove unused method nsCycleCollector::Runtime. r=smaug
2013-09-10 08:56:35 -07:00
Andrew McCreight
35872c70ab
Bug 913527, part 3 - Check for collection in progress in Collect. r=smaug
...
Moving this to the top level simplifies dealing with PrepareForCollection a bit.
2013-09-10 08:56:34 -07:00
Andrew McCreight
7dfdd8f01d
Bug 913527, part 2 - Remove empty CC graph optimization. r=smaug
...
This looks like a dubious optimization to skip most of a CC when the graph
is empty, dating from the dawn of the CC, but I doubt it is ever triggered
nowadays.
2013-09-10 08:56:34 -07:00
Andrew McCreight
efebb04f5b
Bug 913527, part 1 - Get rid of FinishCollection. r=smaug
...
This can just be inlined now, with the cleanup parts moved into CleanupAfterCollection.
2013-09-10 08:56:34 -07:00
Andrew McCreight
1c638d5f5b
Bug 911829 - Separate main thread and worker cycle collector telemetry. r=smaug
2013-09-10 08:29:45 -07:00
Kyle Huey
c6389ea0fa
Bug 911258: Part 4 - Refactor exception implementations. r=bz
2013-09-08 20:28:50 -07:00
Andrew McCreight
0e792ce8b7
Bug 913130, part 4 - Replace body of ShutdownCollect loop with Collect. r=smaug
2013-09-06 16:17:53 -07:00
Andrew McCreight
916cfd2ccd
Bug 913130, part 3 - Run {PrepareFor,CleanupAfter} every iteration of ShutdownCollect. r=smaug
2013-09-06 16:17:03 -07:00
Andrew McCreight
8cfa8b27b2
Bug 913130, part 2 - Give Collect and ShutdownCollect more consistent ordering. r=smaug
2013-09-06 16:16:45 -07:00
Andrew McCreight
a20bc41d54
Bug 913130, part 1 - Modify nsCycleCollector::Collect to allow it to be used at shutdown. r=smaug
2013-09-06 16:15:10 -07:00
Andrew McCreight
4558644828
Bug 913080 - Make GCGraphBuilder's hash table initialization infallible. r=smaug
2013-09-06 13:42:27 -07:00
Andrew McCreight
9b9141a21e
Bug 911233, part 3 - Add more CheckThreadSafety calls to the cycle collector. r=khuey
2013-09-06 13:41:42 -07:00
Andrew McCreight
9ae420c351
Bug 911233, part 2 - Inline SelectPurple. r=smaug
2013-09-06 13:41:11 -07:00
Andrew McCreight
86cac34e69
Bug 911233, part 1 - Minor cycle collector cleanups. r=smaug
2013-09-06 13:40:34 -07:00
Andrew McCreight
01af9297c7
Bug 883920 - use templates for {Hold,Drop}JSObjects. r=peterv
2013-08-16 13:10:17 -07:00
Olli Pettay
fec6e6d8e3
Bug 910797, make Event.isTrusted to work in workers, r=khuey
2013-08-30 12:47:19 +03:00
Landry Breuil
6029fbc82e
Bug 905920 - Fix build on platforms without SPS profiler r=khuey
2013-08-20 13:48:22 +02:00
Andrew McCreight
d45893bf60
Bug 903524 - Rename TestJSHolder to IsJSHolder. r=smaug
2013-08-15 10:29:02 -07:00
Kyle Huey
7ea5a68da2
Bug 901630: Remove support for the cc thread. r=mccr8
2013-08-13 10:45:32 -07:00
Andrew McCreight
eb5f8005c8
Bug 901756 - Fix a few nits in nsCycleCollector.cpp r=khuey
...
Remove an unused forward declaration, and an unused field
2013-08-05 17:04:47 -07:00
Kyle Huey
b0e1508e38
Bug 845545: Part 4 - Create a worker implementation of CycleCollectedJSRuntime. r=mccr8,bent
2013-08-03 16:55:40 -07:00
Kyle Huey
9908c2bd93
Bug 845545: Part 3 - Give the CycleCollectedJSRuntime more control over
...
SnowWhite. r=smaug
2013-08-03 16:55:39 -07:00
Kyle Huey
92d60a1477
Bug 845545: Part 1 - Fix heap dumping to work off the main thread. r=mccr8
2013-08-03 16:55:39 -07:00
Andrew McCreight
d885cfcb46
Bug 887903 - Non-fatally assert when nsDeque fails due to OOM during scanning in CC. r=smaug
2013-05-28 17:42:13 -07:00
Ehsan Akhgari
2824b29025
Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo
...
This patch was mostly generated by running the following scripts on the codebase, with some
manual changes made afterwards:
# static_assert.sh
#!/bin/bash
# Command to convert an NSPR integer type to the equivalent standard integer type
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 "*.cc" \
-o -iname "*.mm" \) | \
xargs -n 1 `dirname $0`/assert_replacer.py #sed -i -e "s/\b$1\b/$2/g"
}
convert MOZ_STATIC_ASSERT static_assert
hg rev --no-backup mfbt/Assertions.h \
media/webrtc/signaling/src/sipcc/core/includes/ccapi.h \
modules/libmar/src/mar_private.h \
modules/libmar/src/mar.h
# assert_replacer.py
#!/usr/bin/python
import sys
import re
pattern = re.compile(r"\bMOZ_STATIC_ASSERT\b")
def replaceInPlace(fname):
print fname
f = open(fname, "rw+")
lines = f.readlines()
for i in range(0, len(lines)):
while True:
index = re.search(pattern, lines[i])
if index != None:
index = index.start()
lines[i] = lines[i][0:index] + "static_assert" + lines[i][index+len("MOZ_STATIC_ASSERT"):]
for j in range(i + 1, len(lines)):
if lines[j].find(" ", index) == index:
lines[j] = lines[j][0:index] + lines[j][index+4:]
else:
break
else:
break
f.seek(0, 0)
f.truncate()
f.write("".join(lines))
f.close()
argc = len(sys.argv)
for i in range(1, argc):
replaceInPlace(sys.argv[i])
--HG--
extra : rebase_source : 4b4a4047d82f2c205b9fad8d56dfc3f1afc0b045
2013-07-18 13:59:53 -04:00
Ehsan Akhgari
ef4b479714
Bug 872127 - Part 2: Replace mozilla/StandardInteger.h with stdint.h; r=Waldo,ted
2013-07-30 10:25:31 -04:00
Olli Pettay
ae46376c2e
Bug 897433 - Telemetry for SnowWhite and more async SnowWhite freeing (patch v4), r=mccr8
2013-07-27 13:48:45 +03:00
Andrew McCreight
371753028b
Bug 692226 - Record weak map entries in the cycle collector log. r=smaug
2013-07-26 08:12:51 -07:00
Ryan VanderMeulen
496513c7cd
Backed out changeset 300f5b7d72e1 (bug 897433) for intermittent Linux dromaeo crashes.
2013-07-25 21:18:20 -04:00
Olli Pettay
e05c81b4a4
Bug 897433, Telemetry for SnowWhite and more async SnowWhite freeing, r=mccr8
...
--HG--
extra : rebase_source : 487139a95f50e69d6273c2870ed6623f175544e7
2013-07-25 22:56:20 +03:00
Andrew McCreight
1c657bf12f
Bug 895933 - Record if a CC log is AllTraces or not. r=khuey
2013-07-19 10:00:53 -07:00
Olli Pettay
a0d710b2dd
Bug 895578 - Make SnowWhiteKiller to use fallible TArray, r=mccr8
2013-07-19 15:53:16 +03:00
Andrew McCreight
8072ebea00
Bug 888461 - Remove unused field nsCycleCollector::mFollowupCollection. r=smaug
2013-07-14 05:10:30 -07:00
Andrew McCreight
bc21d6169e
Bug 888999 - Remove mObject null checks in the cycle collector. r=smaug
2013-07-18 09:07:28 -07:00
Andrew McCreight
b2b308ac21
Bug 889053 - Remove nsCycleCollectorParams::mDoNothing which does nothing. r=khuey
2013-07-18 09:07:28 -07:00
Olli Pettay
b002b30b2a
bug 789919, (snow-white) make addref/release of CCable objects faster by removing indirect refcnt increase/decrease, r=mccr8, test changes r=ehsan
...
--HG--
extra : rebase_source : 2a3b22425c14d6daedc91d62a652c34431acd2fb
2013-07-09 13:30:58 -04:00
Kyle Huey
ab927a2cc9
Bug 885866: Separate deferred finalization from XPConnect so we can use it off the main thread. r=mccr8, peterv, bsmedberg, jorendorff
2013-07-09 07:28:15 -07:00
Catalin Iacob
6f4758d23e
Bug 798914 (part 5) - Use newly introduced mozilla::MallocSizeOf instead of nsMallocSizeOfFun. r=njn.
...
--HG--
extra : rebase_source : fc472490dd978d165f02f77ed37f07aed6e5bb61
2013-06-23 14:03:39 +02:00
Kyle Huey
7d893e1ec2
Bug 882893: Move observer notifications out of the cycle collector and into the runtime. r=smaug
2013-06-19 14:06:50 -07:00
Andrew McCreight
ca9071a8e2
Bug 884434 - Assert on extra shutdown CCs. r=smaug
2013-06-18 15:57:41 -07:00
Kyle Huey
16244dd73a
Bug 877584: Followup to avoid some crashes during shutdown. r=mccr8
2013-06-18 12:02:16 -07:00
Kyle Huey
66fb46a26e
Bug 882162: Part 9 - Kill nsCycleCollectionJSRuntime. r=mccr8
2013-06-18 12:02:16 -07:00
Kyle Huey
a57dbb3230
Bug 877584: Route JS holding through the cycle collection runtime so it can do different things on different threads. r=mccr8
2013-06-18 12:01:26 -07:00
Andrew McCreight
39cce294b2
Bug 880754 - Remove unused PointerSet typedef. r=khuey
2013-06-10 10:12:17 -07:00
Andrew McCreight
2789f6cab8
Bug 875304, part 2 - Add nonfatal assertions for OOM during CC graph building. r=smaug
2013-05-24 15:00:36 -07:00
Andrew McCreight
2e035bab53
Bug 875304, part 1b - remove pointless AppendElement checks from CC. r=smaug
2013-06-03 10:43:17 -07:00
Andrew McCreight
037c7ef2f2
Bug 875304, part 1 - remove some useless malloc checks. r=smaug
2013-05-24 13:25:20 -07:00
Ed Morley
3bf60a9f11
Backed out changeset 2864e2610800 (bug 877584) for causing bug 881266
2013-06-11 16:11:14 +01:00
Kyle Huey
bbf045f825
Bug 877584: Route JS holding through the cycle collection runtime so it can do different things on different threads. r=mccr8
2013-06-09 16:02:02 -07:00
Kyle Huey
3c18bb93bd
Back out bug 877584 on this CLOSED TREE.
2013-06-06 10:49:09 -07:00
Kyle Huey
a983f728ac
Bug 877584: Route JS holding through the cycle collection runtime so it can do different things on different threads. r=mccr8
2013-06-06 10:23:45 -07:00
Andrew McCreight
682308cad3
Bug 874258 - Warn if we run shutdown CC more than twice. r=smaug
2013-05-24 11:26:09 -07:00
Andrew McCreight
252d3b2eb6
Bug 873764 - Assert when CC runner isn't properly shut down. r=khuey
2013-05-20 10:38:36 -07:00
Phil Ringnalda
24157c7636
Merge m-c to a CLOSED TREE m-i
2013-05-25 20:44:02 -07:00
Phil Ringnalda
ffb2b400a4
Bug 876159 - Remove warnings that overflow maximum log size in CC-during-OOM cases, r=mccr8 CLOSED TREE
2013-05-25 14:40:09 -07:00
Aryeh Gregor
8b16f79037
Bug 867101 - Fix more implicit conversion to already_AddRefed; r=Ms2ger
2013-04-28 14:52:10 +03:00
Andrew McCreight
199fcfca97
Bug 873111 - Statically enforce root/child phase separation in cycle collector graph building. r=smaug
2013-05-20 13:08:11 -07:00
Andrew McCreight
11be5b49cd
Bug 873664 - remove two unused fields from nsCycleCollector.cpp r=smaug
2013-05-17 16:59:34 -07:00
Andrew McCreight
e8995d5110
Bug 866429 - Simplify shutdown cycle collections. r=smaug
2013-04-27 11:45:46 -07:00
Andrew McCreight
8765722e58
Bug 865320 - Move the logic for deciding when to doing a merging CC into the cycle collector. r=smaug
2013-04-29 16:41:41 -07:00
Andrew McCreight
1f8daed795
Bug 867974 - fail more gently when purple buffer count isn't zero. r=smaug
2013-05-09 13:19:00 -07:00
Andrew McCreight
d44ce3612d
Bug 868761 - Remove trailing whitespace from nsCycleCollector.cpp. r=smaug
2013-05-04 08:39:44 -07:00
Andrew McCreight
c88229fdd3
Bug 863085, part 2 - remove NS_CycleCollectorForget2 from some XPCOM glue. r=bsmedberg
2013-05-01 15:36:03 -07:00
Andrew McCreight
b82ff0e35c
Bug 863085, part 1 - Gut NS_CycleCollectorForget2 and rename CC::Suspect2. r=smaug
2013-05-01 15:35:13 -07:00
Andrew McCreight
3a107ba64a
Bug 864344 - Remove unused code for NS_Alloc failures in the cycle collector. r=smaug
2013-04-30 10:41:23 -07:00
Andrew McCreight
dba6cce472
Bug 716716 - Add templated way to iterate over purple buffer entries. r=smaug
2013-04-30 10:41:23 -07:00
Andrew McCreight
3c9c388be6
Bug 866151 - Clean up usage of nsCycleCollector.h and nsCycleCollectorUtils.h. r=smaug,bsmedberg
...
--HG--
rename : xpcom/base/nsCycleCollector.h => xpcom/glue/nsCycleCollectionJSRuntime.h
2013-04-30 10:41:22 -07:00
Andrew McCreight
1905bebe27
Bug 865317 - Allow a useful NodePool::Enumerator to be constructed for an empty CC graph. r=smaug
2013-04-25 08:42:44 -07:00
Andrew McCreight
3a9839780b
Bug 865306 - Add assertions for the initialization of the cycle collector's EdgePool::Iterators. r=smaug
2013-04-25 08:42:44 -07:00
Andrew McCreight
8c5268671e
Bug 837197 - Don't write poison shutdown CC logging. r=smaug
2013-04-25 08:42:44 -07:00
Nicholas Nethercote
1c97315e22
Bug 859657 (part 2) - Remove nsIMemoryMultiReporter.explicitNonHeap because it's more trouble than it's worth; also remove the "explicit" single reporter. r=jlebar.
...
--HG--
extra : rebase_source : a146536a3dd0043082bcb1c26d980c4c6d4c0730
2013-04-11 20:52:32 -07:00
Ehsan Akhgari
da80d7c1bf
Bug 860886 - Make MOZ_CC_LOG_DIRECTORY work again; r=mccr8
2013-04-11 15:39:20 -04:00
Kyle Huey
9c93e2fd41
Bug 839025: Refactor cycle collector thread handling to make it optional. r=mccr8
2013-03-25 14:26:00 -07:00
Benoit Girard
042e2c83ad
Bug 851611 - Part 3: Rename headers. r=jrmuizel
...
--HG--
rename : tools/profiler/sampler.h => tools/profiler/GeckoProfiler.h
rename : tools/profiler/sps_sampler.h => tools/profiler/GeckoProfilerImpl.h
extra : rebase_source : 6ea7c660764a4390cdd8dd91561fff1d7bad6035
2013-03-18 15:25:50 +01:00
Benoit Girard
c47f308258
Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
...
--HG--
extra : rebase_source : f76accc3d3dd86c75cb3e9750734f23ec9c29941
2013-03-16 00:47:02 -04:00
Jon Coppeard
3dcda9b143
Bug 849273 - Investigate splitting the js and JS namespaces r=terrence
...
--HG--
extra : rebase_source : 2b131d0177f02e5f0e89398545481fcacbfde00f
2013-03-19 10:35:41 +00:00
Ed Morley
ab0833645c
Backed out changeset c75481a07302 (bug 851611)
2013-03-18 14:10:35 +00:00
Ed Morley
3091d3e2b6
Backed out changeset d195190adc48 (bug 851611)
...
--HG--
rename : tools/profiler/GeckoProfiler.h => tools/profiler/sampler.h
rename : tools/profiler/GeckoProfilerImpl.h => tools/profiler/sps_sampler.h
2013-03-18 14:10:30 +00:00
Benoit Girard
b03f14270d
Bug 851611 - Part 3: Rename headers. r=jrmuizel
...
--HG--
rename : tools/profiler/sampler.h => tools/profiler/GeckoProfiler.h
rename : tools/profiler/sps_sampler.h => tools/profiler/GeckoProfilerImpl.h
extra : rebase_source : 552fe1d3ff61d15b264aaf86f7c8cb4f4eff69d1
2013-03-18 14:41:02 +01:00
Benoit Girard
919018414b
Bug 851611 - Part 2: Update profiler calls. r=jrmuizel
...
--HG--
extra : rebase_source : 3032aaf7e50cdf9c350da688ec34e50a695fc7ca
2013-03-16 00:47:02 -04:00
Bill McCloskey
c7ddf51a4f
Bug 759585 - Zones (r=jonco,bhackett,njn,dvander,luke,bz,mccr8,bholley)
2013-03-16 20:36:37 -07:00
Igor Bukanov
2b973536e4
Bug 743436 - remove XPCJSRuntime::mJSCycleCollectionContext and related code. r=peterv
...
The patch removes no longer used XPCJSRuntime::mJSCycleCollectionContext,
nsXPConnect::mCycleCollectionContext and related code to create/destroy
contexts. As that made nsCycleCollectionJSRuntime::FinishTraverse() empty
in all cases I removed that method as well.
2013-02-27 11:33:12 -08:00
Kartikaya Gupta
27f16bb571
Bug 845804 - Reuse OpenTempFile from nsMemoryInfoDumper in nsCycleCollector.cpp. r=njn
...
CLOSED TREE
2013-03-01 10:41:17 -05:00
Ed Morley
02245ab6dd
Backed out changeset 1eda65741914 (bug 845804) for xpcshell failures on a CLOSED TREE
2013-03-01 17:31:38 +00:00
Kartikaya Gupta
c1935f174a
Bug 845804 - Reuse OpenTempFile from nsMemoryInfoDumper in nsCycleCollector.cpp. r=njn
2013-03-01 10:41:17 -05:00
Kartikaya Gupta
2e8db46be9
Bug 845342 - Move about:memory and related dump files to the downloads dir on android. r=njn
2013-02-27 08:58:29 -05:00
Kyle Huey
8db92146c6
Bug 845441: Remove DEBUG_CC. r=mccr8
2013-02-26 13:34:32 -08:00
Jonathan Kew
9c8145baf7
backout cset 4ede352670cd (bug 759585) on a CLOSED TREE on suspicion of making windows reftests so slow that they timeout and burn
2013-02-22 09:36:41 +00:00
Bill McCloskey
a133579459
Bug 759585 - Change the granularity of collection from compartment to zone (r=jonco,bhackett,njn,dvander,mccr8,bz,luke,bholley)
2013-02-21 18:23:47 -08:00
L. David Baron
0a8730aae0
Bug 790589: Document the MOZ_CC_LOG_DIRECTORY environment variable. r=smaug
2013-02-21 18:10:59 -08:00
Olli Pettay
33258062d0
Bug 835503 - Remove nsCycleCollector::ShouldBeFreed/WasFreed, r=mccr8
2013-01-29 12:45:38 +02:00
Bill McCloskey
f192791e29
Bug 751618 - Add js/GCAPI.h (r=terrence)
2013-01-27 12:35:12 -08:00
Nicholas Nethercote
e7d64e972a
Bug 829439 (part 1) - Add MemoryReporterBase class that promotes better encapsulation within nsIMemoryReporter sub-classes. r=jlebar.
...
--HG--
extra : rebase_source : 53a77ea456f2aedafe05954ceece7e64db743e66
2013-01-14 16:26:47 -08:00
Andrew McCreight
c92a435c00
Bug 690970, part 3: fix black-gray edges in weak containers at start of CC. r=billm
2013-01-08 10:36:51 -08:00
Nicholas Nethercote
b7723e3c58
Bug 819819 (part 2) - Remove |name| from NS_MEMORY_REPORTER_MALLOC_SIZEOF_FUN. r=jlebar.
...
--HG--
rename : dom/tests/mochitest/localstorage/test_localStorageQuotaPrivateBrowsing_perwindowpb.html => dom/tests/mochitest/localstorage/test_localStorageQuotaPrivateBrowsing.html
rename : toolkit/components/places/tests/browser/browser_favicon_privatebrowsing_perwindowpb.js => toolkit/components/places/tests/browser/browser_favicon_privatebrowsing.js
extra : rebase_source : 557cc60522970ce7eea3b006d357284d9b4694c4
2012-12-23 16:59:51 -08:00
Andrew McCreight
c7d324a5f0
Bug 823226 - Add environment variables for controlling cycle collector logging. r=smaug
2012-12-19 14:35:50 -08:00
Neil Rashbrook
41d5c4cd99
Bug 818861 Shouldn't allow promising a flat string from a flat string r=dbaron
2012-12-22 20:40:37 +00:00
Andrew McCreight
84b97fc2a3
Bug 731853 - Add way to easily log CC with AllTraces at shutdown. r=smaug
2012-09-28 10:11:33 -07:00
Olli Pettay
066bca4dc5
Bug 818739, don't run CC during shutdown, r=mccr8
2012-12-14 20:41:11 +02:00
Andrew McCreight
9abc93145e
Bug 812380 - optimize less aggressively in TraceWeakMapping. r=billm
2012-12-03 09:02:57 -08:00
Olli Pettay
2e7f4ef4ba
Bug 811206, Fix JSHolder drop handling, part 2 (assert), r=mccr8
...
--HG--
extra : rebase_source : e7731c7d1f81e250ea6992e4a15c3dc52bb136d0
2012-11-28 02:56:06 +02:00
Benoit Jacob
10ffb47d44
Bug 811212 - Make most cycle collector assertions fatal - r=mccr8
2012-11-15 02:32:39 -05:00
Nicholas Nethercote
ab8ff34585
Bug 808467 - Rewrite the cycle collector's memory reporter. r=mccr8.
...
--HG--
extra : rebase_source : 9944d59772654a1df8db3227f1a8b18ae3dcfeda
2012-11-06 17:38:29 -08:00
Kartikaya Gupta
bfb7aadc3b
Bug 806486 - Instead of setting/unsetting the umask which introduces potential race conditions, chmod the created files instead. r=glandium
2012-10-31 10:20:26 -04:00
Jacek Szpot
761b11160f
Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan
2012-10-26 15:32:10 +02:00
Bill McCloskey
151b2aba2f
Bug 798678 - Add weakmap key preservation support to cycle collector (r=mccr8)
2012-10-17 18:22:46 -07:00
Justin Lebar
70048a2062
Bug 800486 - Part 1: Dump a GC and CC log upon receiving SIGRTMIN + 2. r=mccr8,njn,cjones
2012-10-15 22:12:14 -04:00
Isaac Aggrey
481e7dfb0b
Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan
2012-09-28 01:57:33 -05:00
Florian Quèze
c4fc8b5d9c
Bug 790947 - Show in the error console the path to the dumped memory reports, r=njn,smaug.
2012-09-14 15:47:12 +02:00
Olli Pettay
25d848a912
Bug 790589 - Add env variable to define the cc/gc log directory, r=mccr8
2012-09-13 09:24:12 +02:00
Olli Pettay
db1899be76
Bug 784563 - Investigate being lazier about removing things from the purple buffer, r=mccr8
2012-09-08 13:46:48 +03:00
Andrew McCreight
5a7f7d30e1
Bug 785666 - Remove old-style CC Suspect and Forget functions. r=smaug,bsmedberg
2012-08-27 10:28:38 -07:00
Andrew McCreight
fbe861f103
Bug 749366 - Remove mostly bogus size arg from CC callbacks. r=smaug
2012-08-27 10:41:04 -07:00
Ryan VanderMeulen
31b5d3335d
Merge m-c to inbound.
2012-08-24 16:18:09 -04:00
Olli Pettay
0a74c76449
Bug 785463 - Tweak PurpleBuffer Block size, r=mccr8
2012-08-24 12:26:44 -07:00
Ehsan Akhgari
e368dc9c85
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
Andrew McCreight
d5b4c64064
Bug 750570, part 2 - Add purple buffer support for non-nsISupports classes. r=smaug
...
We add a new field to purple buffer entries, to store the participant for
non-nsISupports classes. For nsISupports, we store NULL instead. The participant
has to be passed into Suspect2.
In the cycle collector itself, we generalize canonicalization to handle the
possibility that we can just grab the participant directly from a field,
rather than needing to QI something.
Most of the patch is just routing around this extra pointer.
2012-08-24 09:50:06 -07:00
Aryeh Gregor
d0ad5a7d0c
Bug 777292 part 2 - Change all nsnull to nullptr
2012-07-30 17:20:58 +03:00
Ehsan Akhgari
3213a08bd5
Remove some extra trailing semicolons from nsCycleCollector.cpp (no bug)
2012-07-26 11:16:28 -04:00
Bill McCloskey
5ba066f3bb
Bug 758034 - Clean up browser GC API (r=smaug)
2012-06-30 14:16:32 -07:00
Andrew McCreight
ffbaa85872
Bug 754495, part 5 - Add support for compartment merging to cycle collector. r=smaug
2012-06-27 08:09:56 -07:00
Bill McCloskey
db6b5999cb
Bug 768282 - Run GCCyle only once for CC_FORCED GCs (r=mccr8)
2012-06-26 13:11:39 -07:00
Jeff Walden
3b720a666b
Bug 763000 - Remove MOZ_Assert. r=Ms2ger, r=terrence, r=ted
2012-06-07 14:41:11 -07:00
Andrew McCreight
0507cf0146
Bug 753614 - enable DumpHeapComplete in non-debug builds. r=billm,smaug
2012-06-14 08:52:54 -07:00
Ehsan Akhgari
df3797a6e7
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
Honza Bambas
fc7084f564
Bug 720778 - Important threads should have a name for better debugability, r=bsmith, sr=bsmedberg+glandium
2012-06-12 19:06:20 +02:00
Ms2ger
686e870ccd
Bug 757977 - Don't use uint32 in nsCycleCollector::ScanWeakMaps; r=bsmedberg
2012-05-25 09:18:30 +02:00
Gervase Markham
82ff7027aa
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Matt Brubeck
60b5d7f292
Back out c209fea124e1 (bug 754198) because of Win64 build failure
2012-05-11 13:23:49 -07:00
Fabrice Desré
5397f4846a
Bug 754198 - Warning treated as error in jemalloc.c. Build busted. [r=jlebar,bsmedberg]
2012-05-11 12:34:24 -07:00
Andrew McCreight
90af223342
Bug 748040 - remove malloc hooks from cycle collector. r=smaug
2012-05-10 07:59:00 -07:00
Andrew McCreight
173c5fe9e1
Bug 744103, part 5 - Remove remaining langID things from CC. r=smaug
2012-05-03 12:28:11 -07:00
Andrew McCreight
65d7a82313
Bug 744103, part 4 - Remove nsCycleCollectionLanguageRuntime. r=smaug
2012-05-03 12:28:11 -07:00
Andrew McCreight
07f9a7c5cb
Bug 744103, part 3 - Change NoteRoot to NoteJSRoot and NoteNativeRoot. r=smaug
2012-05-03 12:28:11 -07:00
Andrew McCreight
8f774dbad9
Bug 744103, part 2 - Change NoteScriptChild to NoteJSChild. r=smaug
2012-05-03 12:28:10 -07:00
Andrew McCreight
3c6d6940b4
Bug 744103, part 1 - Store nsCycleCollectionJSRuntime separately. r=smaug
2012-05-03 12:28:10 -07:00
Nicholas Nethercote
43f329dbbd
Bug 744311 (part 1) - Preliminary whitespace and code order changes. r=jlebar.
...
--HG--
extra : rebase_source : f700733d8aa1aed1ae1f9206b4ee9063f9a03341
2012-04-09 22:52:33 -07:00
Andrew McCreight
e606921b41
Bug 678615, part 2: remove FinishCycleCollection. r=smaug
2012-04-25 08:10:09 -07:00
Andrew McCreight
033fbde830
Bug 678615 - remove ExplainLiveExpectedGarbage. r=smaug sr=peterv
2012-04-25 08:10:09 -07:00
Mark Capella
bb0cb90d39
Bug 740688 - Use uintptr_t instead of PRUword, and intptr_t instead of PRWord. r=jwalden
...
--HG--
extra : rebase_source : 648a581323d2c2893df780f71fe34dadcc4bbaab
2012-04-11 17:17:44 -07:00
Andrew McCreight
291442c9c4
Bug 744088 - remove nsCycleCollector_getRuntime. r=smaug
2012-04-11 16:50:03 -07:00
Andrew McCreight
d1db0b69b9
Bug 738769 - only unmark purple if purple. r=smaug
2012-03-26 09:57:29 -07:00
Hessam Salehi
2bda7efc98
Bug 474505 - Replace uses of nsVoidPtrHashkey with nsPtrHashKey<T>; r=bsmedberg
2012-03-21 14:07:31 -04:00
Andrew McCreight
a13cc9c35d
Bug 736763 - CanSkipInCC when adding roots. r=smaug
2012-03-18 07:17:04 -07:00
Andrew McCreight
488be30e8c
Bug 521853 - Make all cycle collector faults fatal. r=smaug
2012-03-15 21:13:08 -07:00
Andrew McCreight
f578cf1551
Bug 728460, part 1 - add forget_skippable option to remove childless nodes. r=smaug
2012-03-05 13:48:04 -08:00
Andrew McCreight
a2b9892187
Bug 730357 - factor out common NoteChild code. r=smaug
2012-02-26 13:18:44 -08:00
Andrew McCreight
d592ecef31
Bug 697115 - return detailed CC results. r=smaug
2012-02-23 20:16:37 -08:00
Andrew McCreight
50124fe16f
Bug 727604 - add release assertions to investigate cycle collector crashes. r=smaug
2012-02-20 12:13:29 -08:00
Olli Pettay
2421420211
Bug 726346 - Implement a version of nsICycleCollectorListener for devtools, r=mccr8
...
--HG--
extra : rebase_source : e0ff9a1bba67eb8efa433f954ac03691252f6bed
2012-02-17 19:35:22 +02:00
Olli Pettay
a19334a3f9
Bug 725768 - BBP for ObjectHolders, additional patch 2, r=mccr8
2012-02-13 22:59:14 +02:00
Andrew McCreight
9d988357ab
Bug 726374 - clean up CC debug timing infrastructure. r=smaug
2012-02-12 08:02:01 -08:00
Andrew McCreight
a3f6bcc6f0
Bug 696174 - Log JS heap at the same time as CC heap. r=bholley,smaug
2012-02-02 16:32:30 -08:00
Andrew McCreight
92c993fb12
Bug 721794 - add SPS labels for CC entry points. r=smaug
2012-01-31 13:47:47 -08:00
Andrew McCreight
d7371468e7
Bug 721420 - WantAllTraces should disable Skippable CC optimizations. r=smaug
2012-01-29 16:45:08 -08:00
Bill McCloskey
dc52ba7996
Bug 706227 - Add way for JS_GC API users to give detailed reason for invocation (r=mccr8)
2012-01-25 10:59:55 -08:00
Luke Wagner
d85fb51b34
Bug 675078 - rm JSThreadData and JSThread (JSRuntime is now officially single-threaded) (r=igor,rs=mccr8)
...
--HG--
extra : rebase_source : f6d2c2c6083f4589691ede571159bfd7e7ef8701
2011-07-18 14:54:48 -07:00
Matt Brubeck
193896461a
Back out 79deba022227 (bug 675078) because of Win debug mochitest-other failures
2012-01-24 17:32:30 -08:00
Luke Wagner
6068502afa
Bug 675078 - rm JSThreadData and JSThread (JSRuntime is now officially single-threaded) (r=igor)
2011-07-18 14:54:48 -07:00
Olli Pettay
708edb326d
Bug 718634 - Move CanSkip* to nsCycleCollectionParticipant, r=mccr8
...
--HG--
extra : rebase_source : 7eb8cadf14e2d38d689e74a354d6edee6f7f9d20
2012-01-17 18:32:19 +02:00
Olli Pettay
a10e38916c
Bug 716518 - Add skip* phases to cycle collector, r=mccr8
...
--HG--
extra : rebase_source : c53a42bbbc430384df37d0aeb0d882c09665f672
2012-01-14 18:58:05 +02:00
Ehsan Akhgari
bdde79044d
Bug 714286 followup - Fix the temp path detection code for Windows; r=mccr8
2012-01-03 22:53:30 -05:00
Phil Ringnalda
6b2c365532
Merge mozilla-inbound with mozilla-central
2012-01-01 20:53:49 -08:00
Olli Pettay
f4637a54ab
Bug 713778 - nsICycleCollectorListener should not enable trace_all by default, r=mccr8
2012-01-01 23:48:42 +02:00
Ehsan Akhgari
33bd17221a
Bug 714286 - Cycle collection log should be written to a place where the process can write to, and the name of the file should be printed to the error console; r=mccr8
2012-01-01 17:34:00 -05:00
Andrew McCreight
5b510f1127
Bug 706164 - Add telemetry for CC forcing GC. r=bent
2011-12-05 09:04:41 -08:00
Nathan Froyd
0071f7a006
Bug 709205 - use GetObserverService in xpcom; r=dougt
2011-12-09 14:36:17 -05:00
Andrew McCreight
0bdc164384
Bug 668855, part 5: scan weak maps. r=gal
2011-11-24 07:35:57 -05:00
Andrew McCreight
fa0cc49dda
Bug 668855, part 4: store weak map info in CC data structure. r=gal
2011-11-24 07:35:56 -05:00
Andrew McCreight
5b34144669
Bug 668855, part 2: add nsCycleCollectionTraversalCallback hook for weak mappings. r=peterv
2011-11-24 07:35:56 -05:00
Andrew McCreight
2e0d3c99a5
Bug 694436 - begin CC listener before BeginCollection. r=bent
2011-10-13 17:37:18 -07:00
Olli Pettay
2a671d4eaf
Bug 702240 - [CC] Optimize sizeof nsPurpleBuffer::Block, r=mccr8
2011-11-14 18:10:06 +02:00
Luke Wagner
d542a26a63
Bug 650411 - assert in debug/release builds that JSRuntime is only used in a single-threaded manner (r=jorendorff,sr=dmandelin)
...
--HG--
extra : rebase_source : f18561fff556332789e05623ab0cec2e7faacf78
2011-07-01 14:11:31 -07:00
Ehsan Akhgari
92064e6d3f
Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
...
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Jeff Walden
b5e57820bf
Bug 693469 - Implement mozilla::ArrayLength and mozilla::ArrayEnd, and replace uses of NS_ARRAY_LENGTH whenever possible. (Exceptions: assigning to static initializers, use in static assertions, as template parameters, etc. These will go away when the relevant compilers have C++11 constexpr support.) r=cjones
...
--HG--
extra : rebase_source : b4bae9a0f85abf2feb828609b50e756916b99a6f
2011-10-10 22:50:08 -07:00
Jeff Walden
d0532c3e95
Back out everything since 5435ee09cf7b. Tinderbox compilers hate me. r=epic-fail
2011-10-12 12:21:53 -07:00
Jeff Walden
0f30b277bf
Bug 639469 - Implement mozilla::ArrayLength and mozilla::ArrayEnd, and replace uses of NS_ARRAY_LENGTH whenever possible. r=cjones
...
--HG--
extra : rebase_source : 860a8271bf7e51cde358f2a4185c410de1fc2960
2011-10-10 22:50:08 -07:00
Alon Zakai
0e3cba2dd6
Bug 692305 - Make cycle collector dumps multiprocess-friendly. r=dougt
2011-10-06 13:22:43 -07:00
Michael Wu
d2b70213ac
Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
...
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Andrew McCreight
0fe49482eb
Bug 679779 - Add a #define to always log CC graph. r=bent
2011-08-17 10:35:40 -07:00
Andrew McCreight
cb27fabbd1
Bug 649532 - make cycle collector logging output complete CC graph. r=peterv
2011-06-22 10:41:17 -07:00
Luke Wagner
3450b1f27f
Backed out changeset 0cf822d12c64 (and dependent be91fb29d950 and 53dd7a930bae) due to intermittent crashes
...
--HG--
extra : rebase_source : 9c96a4ac164ef8929591ef3d83ad6c974642557a
2011-08-15 17:21:23 -07:00
Luke Wagner
96bc3e3be8
Bug 650411 - assert in debug/release builds that JSRuntime is only used in a single-threaded manner (r=jorendorff,sr=dmandelin)
...
--HG--
extra : rebase_source : b20ddca63da88a8efe2f5dc06364785aebe8b9ea
2011-07-01 14:11:31 -07:00
Ehsan Akhgari
523ebb7851
Bug 677661 - Remove nsTPtrArray and add a SafeElementAt(index_type) API to nsTArray when it's instantiated with a pointer type; r=sicking
2011-08-10 01:36:00 -04:00
Andrew McCreight
7e5a17e0da
Bug 658672 - Reduce size of cycle collector node and edge blocks. r=peterv
2011-06-17 16:19:41 -07:00
Andrew McCreight
35655d09f6
Bug 665995 - Memory reporter for cycle collector. r=bent
2011-07-08 15:49:31 -07:00
Andrew McCreight
2a9ee7ba0c
Bug 663920 - add telemetry for num of RCed and GCed nodes, and num collected. r=bent
2011-06-10 13:33:06 -07:00
Andrew McCreight
e3a49b05f5
Bug 665044 - lift CC GC outside of the CCRunner mutex. r=bent
2011-06-21 15:06:42 -07:00
Andrew McCreight
2a53256a9b
Bug 665564 - change DescribeNode to DescribeRefCountedNode to remove CCNodeType. r=bent
2011-06-23 14:10:52 -07:00
Ehsan Akhgari
92ab9f79c9
Merge mozilla-central into mozilla-inbound
2011-06-20 23:42:45 -04:00
continuation@gmail.com
ae699a9b73
Bug 664506 - Do all of the shutdown GCs in the cycle collector. r=bent
...
--HG--
extra : rebase_source : d588e910abe9404253c222c81abb25e0bae8fe7a
2011-06-15 15:53:00 -07:00
Taras Glek
3447e79c1c
bug 661574: Implement telemetry directory r=Mossop+glandium+mwu
2011-06-20 14:47:58 -07:00
Andrew McCreight
81ec3bd93a
Bug 663532 - Run GC from cycle collector in main thread, not CC thread. r=bent
2011-06-13 13:24:23 -07:00
Andrew McCreight
2c08b43356
Bug 658386 - part 2: eliminate redundant stores of PtrInfo child pointers. r=peterv
...
--HG--
extra : rebase_source : 34b01a7e2a05a7ea35da408a20b5e97f21681af3
2011-06-09 14:55:29 -07:00
Andrew McCreight
7755be5842
Bug 658386 - part 1: eliminate mLastChild field from PtrInfo. r=peterv
...
--HG--
extra : rebase_source : d4b6b71ae273b4b570591d6548cfaed559598d49
2011-06-09 14:55:04 -07:00
Bill McCloskey
f0333b1dd8
Bug 660778 - Deal with stack overflow in UnmarkGrayChildren (r=gal)
2011-06-03 13:08:21 -07:00
Taras Glek
e7d5270db5
bug 585196: Cycle-collector telemetry probe r=bent
2011-05-12 11:22:25 -07:00
Chris Leary
613529c295
Merge mozilla-central to tracemonkey.
2011-05-09 14:27:44 -07:00
Andrew McCreight
02359464cb
Bug 650519. Add safe function to check gray GC mark bits, then use it. (r=gal)
...
--HG--
extra : rebase_source : bb8eeed202e30c575ff22165c0b4de591c1dcb64
2011-05-04 09:26:44 -07:00
Ed Morley
33aac194a8
Bug 652506 - Remove WinCE code from xpcom; r=bsmedberg
2011-05-01 20:59:24 +02:00
L. David Baron
abb3b86d3d
Make XPCOM_CC_DRAW_GRAPHS work at shutdown (in addition to working for non-shutdown collections). (Bug 652056, patch 3) r=peterv
2011-05-02 18:43:45 -07:00
Chris Leary
47dfb01d0c
Merge mozilla-central to tracemonkey.
2011-04-11 16:54:01 -07:00
Luke Wagner
b573ab190a
Remove implicit cycle-collector dependency on XPConnect lazy initialization broken by 59705c13d959 (rs=peterv)
2011-04-07 16:53:33 -07:00
Andrew McCreight
8a822b4e90
Bug 641910. Don't add non-grey nodes to the cycle collector model graph. r=gal@uci.edu
2011-03-28 13:05:48 -07:00
Peter Van der Beken
e226a523f1
Fix for bug 584048 (Clean up cycle collection code) - merge RootWhite and CollectWhite. r=bent.
2011-03-06 12:11:31 +01:00
Peter Van der Beken
dae975b92f
Fix for bug 584048 (Clean up cycle collection code) - rename RootAndUnlinkJSObjects to Root. r=bent.
2010-12-16 16:30:13 +01:00
Peter Van der Beken
eff5ea6c1b
Fix for bug 603844 (Leak txUnknownHandler+ with transformToDocument(textnode)). r=sicking.
2010-12-02 11:12:27 -05:00
bent.mozilla@gmail.com
dad733aba0
Only run CC after the GC has run at least once (bug 626768, r=gal). a=blocker
2011-02-23 00:08:36 -08:00
Ginn Chen
b8af053c68
Bug 633457 - "Firefox hangs at startup" (r=bent, a=hardblocker)
2011-02-11 20:49:00 -08:00
Olli Pettay
1fc964bf8b
Bug 634916 - Crash on shutdown [@ nsCycleCollector_collect] in DEBUG_CC code, r=peterv, a=NPOTB
2011-02-17 19:50:53 +02:00
bent.mozilla@gmail.com
6377c3205b
Fix DEBUG_CC (bug 615058, r=gal, a=NPOTB).
2011-02-09 17:34:22 -08:00
Peter Van der Beken
5da3cd5e7d
Fix DEBUG_CC build bustage. a=build bustage.
...
--HG--
extra : rebase_source : 5059f7704b2833c797aff4bb187402d9700c985b
2011-01-17 12:24:51 +01:00
Peter Van der Beken
19889ce636
Fix orange from 77979cd6890d. a=bustage fix.
2011-01-14 15:51:43 +01:00
Peter Van der Beken
f53484fb2d
Fix for bug 621258 (Don't refcount CC listeners on the CC thread). r=bent, a=jst.
...
--HG--
extra : rebase_source : fa0c79fb25b9120ffe25da60249c8d07aaa0228f
2011-01-14 11:06:09 +01:00
Ben Turner
7670250f20
Bug 580096 - 'move the cycle collector off the main thread'. r=peterv+jst
2010-11-11 14:52:30 -08:00
Igor Bukanov
d5f7334631
bug 597736 - fixing TreeFragment leak. r=gal
2010-09-21 14:58:19 +02:00
Robert O'Callahan
79c4d12751
Fix for bug 466157 (Enable dumping of cycle-collector graphs in any build). r=dbaron, a=jst.
...
--HG--
extra : rebase_source : b47d149434c735981a9a80ae6016624120fee371
2010-08-12 12:03:23 +12:00
Dão Gottwald
da59e060eb
Backed out changeset a27043cd19ff
2010-08-18 09:46:54 +02:00
Robert O'Callahan
b638314459
Bug 497808. Enable dumping of cycle-collector graphs in any debug build. r=peterv,a=blocking
2010-08-12 12:03:23 +12:00
Robert Sayre
802a358676
Merge mozilla-central to tracemonkey.
2010-07-30 21:57:41 -07:00
Peter Van der Beken
ffaf8aa520
Back out debugging code for bug 500105.
2010-07-30 11:57:19 +02:00
Andreas Gal
3dd9f9600b
Support independent cycle collection and garbage collection (573175, r=jst).
2010-07-19 23:31:01 -07:00
Andreas Gal
284e32eb67
Move the cycle collector out of the GC callback (573060, r=peterv).
2010-07-15 18:08:47 -07:00
Andreas Gal
d7b656c9d6
Bug 579524 - DEBUG_CC broken by fatval. r=sayrer
2010-07-16 20:41:28 -07:00
Andreas Gal
63124d7f53
Backed out bug 573060.
2010-07-15 14:14:26 -07:00
Andreas Gal
f64b050097
Move the cycle collector our of the GC callback (573060, r=peterv).
2010-07-15 10:30:37 -07:00