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