Commit Graph

6 Commits

Author SHA1 Message Date
L. David Baron
b0d0022c36 Bug 331743 patch 3: Improve trace-malloc memory dumps and their handling on 64-bit. r=khuey
There are three categories of improvements:

 (1) using size_t* rather than unsigned long* (and "%zX" rather than
     "%lX"), to better support platforms where sizeof(long) !=
     sizeof(void*), such as Win64 (untested, though).  This is a
     non-issue for 64-bit Linux (where I tested) and Mac.

 (2) Using the correct amount of 0-padding when printing addresses to
     show how much memory space is being printed.  In other words, using
     "%016zX" on 64-bit platforms instead of "%08zX".  This change is
     cosmetic-only, though it makes the logs much more understandable.

 (3) [in leaksoup.cpp only] Fixing an occurrence of assuming that
     sizeof(int) == sizeof(void*).  This occurrence led to printing only
     the lower half of each word in the output, after doing a correct
     analysis of the memory graph.

This patch is patching three files:

 (A) nsTraceMalloc.cpp, which is the in-process Gecko trace-malloc code
     that generates the memory dumps.

 (B) adreader.cpp, which is shared utility code for reading such a
     memory dump (currently used only by leaksoup.cpp)

 (C) leaksoup.cpp, which reads in such a memory dump, performs a
     strongly connected components analysis of the memory graph, and
     writes it back out, HTML-ized, with the roots listed at the top.

A fourth file appears to need no modification since it only looks at the
stack part of the dump and not the contents of the memory:

 (D) diffbloatdump.pl, which diffs two bloat dumps and produces a stack
     tree showing the change in allocations between them
2014-02-26 13:36:36 -08:00
Calixte Denizet
856b1bc95f Bug 944892 - Add uintptr_t casts to fix bustage with -Werror=int-to-pointer-cast set. r=dbaron 2014-01-21 13:53:48 -05:00
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
dbaron%dbaron.org
83fed6e485 Change my old email address to my new one (files missed when I did a mass-change in January 2003). 2007-02-14 07:18:26 +00:00
dbaron%dbaron.org
0c76c7aa5d Make trace-malloc dumps not print '(nil)' instead of an address. b=331743 (fixing regression from previous patch) 2007-02-14 07:07:51 +00:00
dbaron%dbaron.org
08e7da8b22 Add memory dump reader and new tool (leaksoup) for analyzing leak graph at shutdown. b=179212 Partly reviewed by brendan. 2003-01-18 16:24:55 +00:00