Commit Graph

1516 Commits

Author SHA1 Message Date
Andrew McCreight
cba2e924d6 Bug 1005500 - Use a separate linear scan pass to mark nodes white in ScanRoots. r=smaug
The existing code for ScanRoots looks at all traversal roots in the graph,
and floods white or black from them. This can take up a large chunk of the
Scan/Unlink slice of ICC, maybe because graph traversal has poor locality.

Outside of a leak, the cycle collector graph is usually only large when
there is a lot of garbage (95% or more of the graph), so we want to
speed up white marking.

To do this, I add a new pass that scans every node and directly sets the
color of any node that should be white, without flooding. This is very
fast. Then a second pass floods black from any remaining grey nodes.

On the page close CC for a real page, I measured a 10x improvement in
ScanRoots() time with this algorithm, from 3ms to 0.3ms.
2014-05-08 11:28:03 -07:00
Jonathan Watt
03e0ca5e7f Bug 590790 part 2 - Add memory reporter for VectorImage's SVGDocumentWrapper's document. r=dholbert, r=njn, r=seth 2014-05-08 10:53:00 +01:00
Andrew McCreight
65e3052441 Bug 1005975 - Define FloodBlackNode as a convenience function. r=smaug 2014-05-06 17:25:27 -07:00
Andrew McCreight
f3af00eb5f Bug 1006635, part 2 - Add more Checkpoints to the cycle collector. r=smaug 2014-05-06 17:25:27 -07:00
Andrew McCreight
80f4d732ee Bug 1006635, part 1 - Make TimeLog use doubles and reduce the threshold. r=smaug 2014-05-06 17:25:27 -07:00
Andrew McCreight
fa5dcaaf9e Bug 1005232 - Log number of incremental cycle collector slices. r=smaug 2014-05-06 17:25:26 -07:00
Andrew McCreight
36c281bf5c Bug 1004017 - Rename CycleCollectedJSRuntime::NeedCollect() and Collect(). r=smaug 2014-05-06 17:25:26 -07:00
Andrew McCreight
8825a1d4bc Bug 958353 - Add finishCC() and ccSlice() methods for testing incremental cycle collection. r=smaug 2014-05-06 17:25:26 -07:00
Ed Morley
651845f2c7 Fix incorrect resolution of merge conflicts between bug 995730 and bug 1001542 (no bug; CLOSED TREE)
--HG--
extra : amend_source : 5b90e13f8f3a7419e26acee6e483855bdd8c3558
2014-05-06 09:00:06 +01:00
Wes Kocher
f29f9824c0 Merge m-c to b2g-inbound 2014-05-05 21:19:59 -07:00
Dave Hylands
29347f4490 Bug 1001542 - Make OS_VERSION use b2g version info rather than Linux version info. 2014-05-05 15:24:58 -07:00
Eric Rahm
6931f484d4 Bug 999473 - report number of open file descriptions (fd) in about:memory. r=njn 2014-04-25 13:00:15 -07:00
Ryan VanderMeulen
fbf794deff Backed out changeset 83d914c3431d (bug 999473) for Linux mochitest-other failures. 2014-05-01 16:45:21 -04:00
Birunthan Mohanathas
3775a0694b Bug 995730 - Change xpcom/base/ to use 2 space indentation
This also removes trailing whitespace in reindented files.
2014-05-05 20:30:39 +03:00
Eric Rahm
2b8775772e Bug 999473 - report number of open file descriptions (fd) in about:memory. r=njn 2014-04-25 13:00:15 -07:00
Alphan Chen
f2a00092ec Bug 1000755 - [about:service] Refine the format of output reports. r=dhylands 2014-04-28 14:20:41 +08:00
Birunthan Mohanathas
504b581650 Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
Zack Weinberg
1bb7938cd0 Bug 1001842 part 1: record the umask in NS_InitXPCOM2 and expose it to JS via nsSystemInfo. r=bsmedberg 2014-04-26 10:56:54 -04:00
Nathan Froyd
02e4fd1b2f Backout 2629257557ff:284be1609a50 (bug 1001842) for debug xpcshell bustage 2014-04-26 13:18:32 -04:00
Zack Weinberg
f041e7a36f Bug 1001842 part 1: record the umask in NS_InitXPCOM2 and expose it to JS via nsSystemInfo. r=bsmedberg 2014-04-26 10:56:54 -04:00
Eric Rahm
254a975955 Bug 1001137 - Use proper pref for configuring fifo directory. r=froydnj
--HG--
extra : rebase_source : 6d45f4b6b9d86ab6718d07a4a7bfe83454d095fd
2014-04-25 13:53:01 -07:00
Eric Rahm
d1a2ce47bb Bug 1000461 - Enable triggering memory report via fifo device on OS X. r=froydnj 2014-04-24 17:35:59 -07:00
Eric Rahm
b20b484208 Bug 1001137 - Enabling FifoWatcher via user pref does not work. r=froydnj 2014-04-24 15:58:57 -07:00
Trevor Saunders
9f22ca8fbf bug 980753 - make nsRefPtr movable r=froydnj 2014-02-26 18:11:14 -05:00
Eric Faust
faf224faa6 Bug 1001126 - Allow AllTraces CC logging other than at shutdown. (r=mccr8) 2014-04-24 14:28:49 -07:00
Eric Rahm
571ebf0713 Bug 1000621 - Check if DMD is enabled before dumping. r=njn. DONTBUILD 2014-04-24 12:43:11 -07:00
Steven Michaud
59ec684d63 Bug 997908 - Add null check to ReleaseSliceNow() as bandaid for Mac topcrasher. r=smaug 2014-04-24 11:46:39 -05:00
Terrence Cole
de2fb98fa3 Bug 807168 - Make JSTracer into a real C++ class and kill the macro accessors; r=jonco,mccr8
--HG--
rename : js/public/Tracer.h => js/public/TracingAPI.h
2014-04-11 15:19:05 -07:00
Dave Hylands
e380a5c684 Bug 990230 - Fix heap use-after-free in memory reporter. r=n.nethercote 2014-04-17 16:57:30 -07:00
Terrence Cole
135db24e96 Bug 994413 - Make Gecko use the same value marking semantics as SpiderMonkey; r=jonco,mccr8 2014-04-09 12:42:48 -07:00
Nathan Froyd
8886a78c1f Bug 993546 - refactor malloc-wrapping memory reporter implementations; r=njn 2014-04-08 13:51:20 -04:00
Márk Bartos
f22c1fcd88 Bug 106787 - Fix: Remove nsIAllocator and it's references. r=bsmedberg 2014-04-14 17:20:45 +02:00
Eric Rahm
5f92e784f7 Bug 995345 - Improve efficiency of NS_DescribeCodeAddress. r=froydnj
--HG--
extra : rebase_source : ab839d1898d9fe122f2519a657391437dc7216bc
2014-04-14 13:25:04 -07:00
Boris Zbarsky
34e0756678 Bug 995047. Change out stack/exception APIs to hand out AString instead of AUTF8String for filename/functionname, so we end up with fewer string conversions in practice. r=smaug 2014-04-11 22:20:40 -04:00
Jed Davis
3b4495d665 Bug 991791 - Fix some timing-dependent edge cases in nsMemoryReporterManager child handling. r=njn
The patch for bug 946407 changed the state space of
nsMemoryReporterManager in a subtle way: if we're using
MinimizeMemoryUsage with our report, then it's possible for all of
the child processes to finish (or for the timeout to expire) before
the parent has started reporting on itself.  This could cause us to
dereference a null pointer to the state struct in StartGettingReports().

To fix this, we keep track of whether the parent has actually done its
report, and defer finishing the report until then.
2014-04-07 13:33:00 +02:00
Ben Kelly
97f749f80f Bug 991412: Provide static convenience method to retrieve RSS. r=njn 2014-04-07 10:46:20 -04:00
Maksim Lebedev
518ac59f91 Bug 968148 - Implement PointerCapture for pointer events. r=smaug
--HG--
extra : rebase_source : 331cf187194c8827e4b75835e85b2d79fdc419c7
2014-04-04 10:09:10 -07:00
Jan Varga
a169d71bf3 Bug 856921 - Ensure that all quota failures are exposed to JS as QuotaExceededError. r=bent 2014-04-02 19:14:14 +02:00
Jim Blandy
beedbc3762 Bug 951855: Add omitted doc fix requested by smaug in patch review. DONTBUILD r=smaug 2014-04-01 21:30:42 -07:00
Jim Blandy
595842d464 Bug 951855: Improve documentation for nsICycleCollectionListener and nsICycleCollectionHandler. r=smaug 2014-04-01 21:12:08 -07:00
snigdha
11404d6af2 Bug 798033 - Headers should generally not do "using namespace" at file scope. r=jib, r=jmathies, r=rjesup, r=ekr, r=ncameron, r=blassey 2014-04-01 08:29:25 -04:00
Ehsan Akhgari
345b35a6e8 Bug 798158 - Part 1: Use a pointer-sized type to store refcounts internally; r=bsmedberg 2014-03-27 16:38:33 -04:00
Ehsan Akhgari
6f2ea7ebeb Bug 798158 - Part 0: Do not treat format warnings as errors in a few directories; r=mshal 2014-03-27 16:38:20 -04:00
Jan Beich
95624d68a4 Bug 988910 - Explictly include unistd.h for read/write/close calls. r=njn 2014-03-27 15:06:14 -04:00
Ryan VanderMeulen
d9d827e562 Merge inbound to m-c. 2014-03-26 20:58:31 -04:00
Alphan Chen
43f64888bd Bug 964636 - Part 2: Implement "about:service" framework core. r=dhylands 2014-03-20 10:52:11 +08:00
Alphan Chen
709b742c67 Bug 964636 - Part 1: Move common classes and functions out of nsMemoryInfoDumper. r=dhylands 2014-03-20 15:29:51 +08:00
Fabrice Desré
8474a400e9 Bug 980419 - Don't access preferences omt in nsMemoryInfoDumper.cpp r=bsmedberg 2014-03-21 13:50:44 -07:00
Nathan Froyd
73dbe7d676 Bug 984443 - get rid of #ifndef $OTHER_HEADER bits from xpcom/ as relics of a bygone era; r=ehsan 2014-03-17 12:20:47 -04:00
Andrew McCreight
bb3d6640cb Bug 984665 - Change the extra shutdown CC assertion into a warning. r=smaug 2014-03-19 06:05:18 -07:00