Commit Graph

1523 Commits

Author SHA1 Message Date
Nicholas Nethercote
411cb9c980 Bug 1005836 - Avoid slop NodePool::Block allocations. r=mccr8.
--HG--
extra : rebase_source : 2297b22e7a5d6679d8b25679d338f001c7427b60
2014-05-13 20:42:27 -07:00
Jed Davis
eb69e55005 Bug 973090 - IPC remoting for child GC/CC logging. r=mccr8, r=bent
This has a few semi-interdependent pieces:

* Factoring out the file opening/closing/renaming from the GC/CC logging.

* Using IPC to have the child log to files that the parent opened.

* Changing nsIMemoryInfoDumper.dumpGCAndCCLogsToFile to report completion
  of child process logging (which was impossible before this, and which is
  needed to have a meaningful test case).

* Changing about:memory to dump logs for child processes, matching the
  behavior of the "Measure" button, because it can tell the user where
  they are now.

* Add a test for multiprocess GC/CC log dumping (only of the XPCOM
  interface, not by clicking buttons and scraping the about:memory page,
  but done as a chrome mochitest to start remote browsers); based on
  test_memoryReporters2.xul in the same directory.
2014-05-13 13:13:00 -04:00
Andrew McCreight
9e9b401d1d Bug 958353, part 2 - Always check if an ICC is in progress in FixWeakMappingGrayBits(). r=smaug
This makes it easier to test against invalid interleavings of IGC and ICC.
2014-05-13 11:58:39 -07:00
Birunthan Mohanathas
861e6d5ffe Bug 995730 - Fix style violations in xpcom/base/. r=froydnj,continuation 2014-05-13 20:41:38 +03:00
Andrew McCreight
7ee0fd7bbf Bug 972605, part 3 - Make nsErrorService use a modern hash table. r=froydnj 2014-05-09 13:47:37 -07:00
Andrew McCreight
a3ef5307d4 Bug 972605, part 2 - Inline nsInt2StrHashtable. r=froydnj
Also clean up the style a little.
2014-05-09 13:47:36 -07:00
Andrew McCreight
60e975c286 Bug 972605, part 1 - Rename nsErrorService arguments to aFoo form. r=froydnj 2014-05-09 13:47:36 -07:00
Andrew McCreight
e62951375f 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
3b52ee43ad 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
48337cf849 Bug 1005975 - Define FloodBlackNode as a convenience function. r=smaug 2014-05-06 17:25:27 -07:00
Andrew McCreight
09dabdad5b Bug 1006635, part 2 - Add more Checkpoints to the cycle collector. r=smaug 2014-05-06 17:25:27 -07:00
Andrew McCreight
d574e71a90 Bug 1006635, part 1 - Make TimeLog use doubles and reduce the threshold. r=smaug 2014-05-06 17:25:27 -07:00
Andrew McCreight
72fc10903d Bug 1005232 - Log number of incremental cycle collector slices. r=smaug 2014-05-06 17:25:26 -07:00
Andrew McCreight
bdea2bfd58 Bug 1004017 - Rename CycleCollectedJSRuntime::NeedCollect() and Collect(). r=smaug 2014-05-06 17:25:26 -07:00
Andrew McCreight
67aeb89cc4 Bug 958353 - Add finishCC() and ccSlice() methods for testing incremental cycle collection. r=smaug 2014-05-06 17:25:26 -07:00
Ed Morley
b83255e4e2 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
51b4f13fac Merge m-c to b2g-inbound 2014-05-05 21:19:59 -07:00
Dave Hylands
cbc0a4b450 Bug 1001542 - Make OS_VERSION use b2g version info rather than Linux version info. 2014-05-05 15:24:58 -07:00
Eric Rahm
33ef4a9017 Bug 999473 - report number of open file descriptions (fd) in about:memory. r=njn 2014-04-25 13:00:15 -07:00
Ryan VanderMeulen
a4f9513be6 Backed out changeset 83d914c3431d (bug 999473) for Linux mochitest-other failures. 2014-05-01 16:45:21 -04:00
Birunthan Mohanathas
cf3e12c35a 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
57fc0ea6ef Bug 999473 - report number of open file descriptions (fd) in about:memory. r=njn 2014-04-25 13:00:15 -07:00
Alphan Chen
f2b3623c0f Bug 1000755 - [about:service] Refine the format of output reports. r=dhylands 2014-04-28 14:20:41 +08:00
Birunthan Mohanathas
ff8ce9bd42 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
d5fc5cb4a1 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
7301de13be Backout 2629257557ff:284be1609a50 (bug 1001842) for debug xpcshell bustage 2014-04-26 13:18:32 -04:00
Zack Weinberg
0ebd4af1d3 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
73af1e6314 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
18f7073ce7 Bug 1000461 - Enable triggering memory report via fifo device on OS X. r=froydnj 2014-04-24 17:35:59 -07:00
Eric Rahm
4277a8d2df Bug 1001137 - Enabling FifoWatcher via user pref does not work. r=froydnj 2014-04-24 15:58:57 -07:00
Trevor Saunders
3f904cfc43 bug 980753 - make nsRefPtr movable r=froydnj 2014-02-26 18:11:14 -05:00
Eric Faust
a41d6a1508 Bug 1001126 - Allow AllTraces CC logging other than at shutdown. (r=mccr8) 2014-04-24 14:28:49 -07:00
Eric Rahm
78fb9239ae Bug 1000621 - Check if DMD is enabled before dumping. r=njn. DONTBUILD 2014-04-24 12:43:11 -07:00
Steven Michaud
4bae9fb75a Bug 997908 - Add null check to ReleaseSliceNow() as bandaid for Mac topcrasher. r=smaug 2014-04-24 11:46:39 -05:00
Terrence Cole
4ab31f28b9 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
775a6c8685 Bug 990230 - Fix heap use-after-free in memory reporter. r=n.nethercote 2014-04-17 16:57:30 -07:00
Terrence Cole
fb5836e633 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
2585135c22 Bug 993546 - refactor malloc-wrapping memory reporter implementations; r=njn 2014-04-08 13:51:20 -04:00
Márk Bartos
2aab2cb3ab Bug 106787 - Fix: Remove nsIAllocator and it's references. r=bsmedberg 2014-04-14 17:20:45 +02:00
Eric Rahm
66407f4d7b Bug 995345 - Improve efficiency of NS_DescribeCodeAddress. r=froydnj
--HG--
extra : rebase_source : ab839d1898d9fe122f2519a657391437dc7216bc
2014-04-14 13:25:04 -07:00
Boris Zbarsky
a13f2f38be 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
4742184268 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
de721ff0ff Bug 991412: Provide static convenience method to retrieve RSS. r=njn 2014-04-07 10:46:20 -04:00
Maksim Lebedev
4b49370e14 Bug 968148 - Implement PointerCapture for pointer events. r=smaug
--HG--
extra : rebase_source : 331cf187194c8827e4b75835e85b2d79fdc419c7
2014-04-04 10:09:10 -07:00
Jan Varga
ad7713c9a2 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
db472c4503 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
414ad5b6e7 Bug 951855: Improve documentation for nsICycleCollectionListener and nsICycleCollectionHandler. r=smaug 2014-04-01 21:12:08 -07:00
snigdha
90f0f64d5b 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
5b9f45a1a5 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
e844abc702 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