Граф коммитов

457 Коммитов

Автор SHA1 Сообщение Дата
Andrew McCreight a6b5bb9aa6 Bug 984665 - Change the extra shutdown CC assertion into a warning. r=smaug 2014-03-19 06:05:18 -07:00
Andrew McCreight 1cbf6e74d5 Bug 984685 - Add cycle collector efficiency to COLLECT_TIME_DEBUG logging. r=smaug 2014-03-19 06:05:17 -07:00
Andrew McCreight b2cea60a4b Bug 948755 - Log incremental cycle collector roots. r=smaug 2014-03-14 16:07:07 -07:00
Andrew McCreight c54675a8a9 Bug 981033 - Clear mActivelyCollecting before restarting CC. r=smaug 2014-03-11 07:34:35 -07:00
Bobby Holley 611c847a27 Bug 975419 - Add a JS::TenuredHeap<JSObject*> overload to TraceCallbacks. r=mccr8,terrence 2014-03-03 08:53:42 -08:00
Andrew McCreight 0dbad2da13 Bug 977688 - Get rid of CC_AbortIfNull. r=smaug 2014-02-28 09:56:23 -08:00
Andrew McCreight 0353960345 Bug 962608 - Make PL_DHashTableInit infallible by default. r=briansmith,bsmedberg,ehsan,froydnj,jduell,jfkthame,roc,smaug 2014-02-27 10:04:09 -08:00
Andrew McCreight 833279b6b8 Bug 901597, part 2 - Add environment var to CC log only main or worker threads. r=smaug 2014-02-20 14:27:04 -08:00
Andrew McCreight 915a1940a3 Bug 901597, part 1 - Move CC logging logic into nsCCParams. r=smaug 2014-02-20 14:27:03 -08:00
Andrew McCreight 04756efc8f Bug 972940 - Rename XPCOM_CC_ env vars to MOZ_CC_. r=smaug,njn 2014-02-20 14:27:03 -08:00
Andrew McCreight 0cc6333124 Backout bug 972940 for valgrind leaks on this CLOSED TREE 2014-02-19 17:20:48 -08:00
Andrew McCreight 3cb3bca6a3 Backout bug 901597 for valgrind leaks 2014-02-19 17:19:17 -08:00
Andrew McCreight 013dd784f5 Backout bug 901597 for valgrind leaks 2014-02-19 17:18:59 -08:00
Andrew McCreight c47c19f9cd Bug 901597, part 2 - Add environment var to CC log only main or worker threads. r=smaug 2014-02-19 13:27:15 -08:00
Andrew McCreight c2269e1629 Bug 901597, part 1 - Move CC logging logic into nsCCParams. r=smaug 2014-02-19 13:27:14 -08:00
Andrew McCreight 3f976fe0cf Bug 972940 - Rename XPCOM_CC_ env vars to MOZ_CC_. r=smaug 2014-02-19 13:27:14 -08:00
Andrew McCreight 02daa1568c Bug 966359 - Prevent FreeSnowWhite reentrance. r=smaug 2014-02-11 14:56:44 -08:00
Ehsan Akhgari d91d200572 Bug 969757 - Remove the dead code in our tree which pretends to support OS/2; r=roc,mcmanus,gps,jorendorf,bsmedberg sr=bsmedberg 2014-02-10 17:57:01 -05:00
Nicholas Nethercote 9c25748c63 Bug 903131 - Add save GC/CC logs buttons to about:memory. r=njn,mccr8.
--HG--
extra : rebase_source : 56af9b89675394b5a219f699b96c1d26c00adc38
2014-01-31 14:43:08 -08:00
Olli Pettay 77759a327d Bug 958315 - Suspect JS things released by dying C++ objects in the next CC, r=mccr8 2014-01-14 22:23:59 +02:00
Andrew McCreight b0d96345f5 Bug 956080 - Rename BeginCycleCollection to TraverseRoots. r=smaug 2014-01-07 17:33:47 -08:00
Andrew McCreight 91646dadb8 Bug 950959 - Rename scheduled cycle collector stuff to slice. r=smaug 2014-01-01 11:00:35 -08:00
Andrew McCreight 64258f4913 Bug 950949 - Run forgetSkippable per CC not per slice. r=smaug 2014-01-01 11:00:35 -08:00
Andrew McCreight 53e4433905 Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-22 09:58:19 -05:00
Ryan VanderMeulen e8e36d08b0 Backed out changesets ccdc3d4f4571, 4dcc91e771e3, 0ae14946314b, and 94d22ab0b17f (bug 937960) for Windows 7 debug xpcshell failures. 2013-12-19 16:57:55 -05:00
Andrew McCreight 03a8a8e082 Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-18 21:22:55 -08:00
Ryan VanderMeulen 96ec232042 Backed out changesets b03bd1170d1c, 419615a1195d, a1b699b80442, and 524c573fd8a6 (bug 937960) for Win7 debug xpcshell orange. 2013-12-18 19:04:11 -05:00
Andrew McCreight 890aa014bf Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-18 11:42:16 -08:00
Andy Wingo 0efae2b21b Bug 951483 - Add back nsCycleCollector::ShutdownCollect assertion that was mistakenly removed in bug 945813. r=mccr8 2013-12-18 11:01:32 +01:00
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