Commit Graph

552 Commits

Author SHA1 Message Date
Nicholas Nethercote
5cc6a39a9a Bug 1094552 (part 6) - DMD: add support for cumulative heap profiling. r=mccr8.
By adding a new "cumulative" mode.

--HG--
extra : rebase_source : 5c851b7c594a134fae48393ff0becfd057715041
2014-10-30 20:22:47 -07:00
Nicholas Nethercote
5b5d3c27bb Bug 1094552 (part 5) - DMD: choose the profiling mode at start-up. r=mccr8.
This patch moves profiling mode selection from post-processing (in dmd.py) to
DMD start-up. This will make it easier to add new kinds of profiling, such as
cumulative heap profiling.

Specifically:

- There's a new --mode option. |LiveWithReports| is the default, as it is
  currently.

- dmd.py's --ignore-reports option is gone.

- There's a new |mode| field in the JSON output.

- Reports-related operations are now no-ops if DMD isn't in LiveWithReports
  mode.

- Diffs are only allowed for output files that have the same mode.

- A new function ResetEverything() replaces the SetSampleBelowSize() and
  ClearBlocks(), which were used by the test to change DMD options.

- The tests in SmokeDMD.cpp are split up so they can be run multiple times, in
  different modes. The exact combinations of tests and modes has been changed a
  bit.

--HG--
rename : memory/replace/dmd/test/full-reports-empty-expected.txt => memory/replace/dmd/test/full-empty-dark-matter-expected.txt
rename : memory/replace/dmd/test/full-heap-empty-expected.txt => memory/replace/dmd/test/full-empty-live-expected.txt
rename : memory/replace/dmd/test/full-heap-sampled-expected.txt => memory/replace/dmd/test/full-sampled-live-expected.txt
rename : memory/replace/dmd/test/full-reports-unsampled1-expected.txt => memory/replace/dmd/test/full-unsampled1-dark-matter-expected.txt
rename : memory/replace/dmd/test/full-heap-unsampled1-expected.txt => memory/replace/dmd/test/full-unsampled1-live-expected.txt
rename : memory/replace/dmd/test/full-reports-unsampled2-expected.txt => memory/replace/dmd/test/full-unsampled2-dark-matter-expected.txt
rename : memory/replace/dmd/test/script-diff-basic-expected.txt => memory/replace/dmd/test/script-diff-live-expected.txt
rename : memory/replace/dmd/test/script-diff1.json => memory/replace/dmd/test/script-diff-live1.json
rename : memory/replace/dmd/test/script-diff2.json => memory/replace/dmd/test/script-diff-live2.json
extra : rebase_source : bf32cc4e0d82aa1a20ceb55e8ea259850b49cc06
2014-12-08 14:45:14 -08:00
Nicholas Nethercote
d1bf866e67 Bug 1094552 (part 4) - Rename AnalyzeReports() as Analyze(). r=mccr8.
Because DMD is no longer just about measuring memory reports coverage, but is
also used for more general heap profiling.

--HG--
extra : rebase_source : 82b4579de240037f96cf6618b15870925adc431b
2014-12-08 14:45:13 -08:00
Nicholas Nethercote
4a0860a2fd Bug 1102525 (part 1) - Add InfallibleAllocPolicy to mozalloc. r=glandium.
--HG--
extra : rebase_source : a79162fb7f73e52c5c8df29c8229efc64c3451e5
2014-12-08 14:45:10 -08:00
Chris Peterson
745bc5c5ab Back out part of changeset 2147895c5dc4 (bug 1107814) because of non-unified OS X build breakage on a CLOSED TREE. a=philor 2014-12-08 21:42:58 -08:00
Chris Peterson
15996b5402 Bug 1107814 - Part 2: Mark some directories as FAIL_ON_WARNINGS conditionally for some compilers. r=gps 2014-12-04 01:11:14 -08:00
Mike Hommey
e2e878c195 Bug 1104173 - Properly export jemalloc_* symbols from the jemalloc3 replace-malloc library. r=njn
Bug 818922 made MOZ_REPLACE_MALLOC a global define, and that changed the
defines set when building mozjemalloc_compat.c for the jemalloc3
replace-malloc library. In turn, this made the symbol munging wrong for
that library, making the jemalloc_* functions exported as je_jemalloc_*
instead of replace_jemalloc_*.
2014-11-26 16:04:25 +09:00
Nicholas Nethercote
b79b7d305e Bug 1094552 (part 3) - DMD: rename |Block| as |LiveBlock|. r=mccr8.
This is to give better contrast with |DeadBlock|, which will be added in the
next patch.

--HG--
extra : rebase_source : cbc767fcc5667cfed108ca7c4ebf1d7e82aa185e
2014-11-18 18:57:20 -08:00
Nicholas Nethercote
b684b5b781 Bug 1094552 (part 2) - DMD: tweak Range and Enum use. r=mccr8.
This patch:

- Uses |auto| in Range loops, so more of them fit on a single line.

- Converts one use of HashSet::Enum (which is only needed if you're modifying
  the HashSet as you iterate) to HashSet::Range.

--HG--
extra : rebase_source : 09b011cd69218c06984f06420d375839cd4e9214
2014-11-23 17:39:17 -08:00
Nicholas Nethercote
d789a68478 Bug 1094552 (part 1) - DMD: rename mSampled field. r=mccr8.
The getter is called IsSampled(), so the field should match that.

--HG--
extra : rebase_source : 074c748eff909faee51bc03888b0c7f328bff82e
2014-11-18 19:11:36 -08:00
Emanuel Hoogeveen
e1583bbd30 Bug 1100485 - Lock chunks during double purging to avoid racing with allocation. r=glandium 2014-11-19 09:34:00 +01:00
Mike Hommey
b14ace82e2 Bug 1098967 - Use native Win32 APIs to append to the LogAlloc output. r=nfroyd
Because it turns out that the POSIX API the CRT exposes doesn't do O_APPEND
in a sane manner.
2014-11-19 09:46:49 +09:00
Mike Hommey
480b8cc023 Bug 1087245 part 2 - Register the MALLOC_LOG file handle from LogAlloc to poison IO interposer. r=nfroyd 2014-11-18 19:21:06 +09:00
Mike Hommey
fb847fca47 Bug 1087245 part 1 - Allow replace-malloc libraries to register debug file handles to poison IO interposer. r=nfroyd 2014-11-18 19:21:06 +09:00
Mike Hommey
e6bc795b4f Bug 1097507 - Make libxul independent of libdmd when DMD is enabled. r=njn
This also effectively changes how DMD is enabled from requiring both
replace-malloc initialization and the DMD environment variable to
requiring only the former. The DMD environment variable can still be
used to specify options, but not to disable entirely.

This however doesn't touch all the parts that do enable DMD by setting
the DMD environment variable to 1, so the code to handle this value
is kept.
2014-11-18 19:21:06 +09:00
Mike Hommey
5da2027760 Bug 818922 - Add bidirectional method calls with replace-malloc library. r=njn 2014-11-18 19:21:06 +09:00
Emanuel Hoogeveen
cecfd996f1 Bug 1073662 - Part 7: Enable limited chunk recycling on all platforms. r=glandium 2014-11-13 22:56:00 +01:00
Emanuel Hoogeveen
03c2641eb2 Bug 1073662 - Part 6: Add JEMALLOC_RECYCLE, a mode that keeps a limited amount of chunks alive. r=glandium 2014-11-13 22:55:00 +01:00
Emanuel Hoogeveen
fda914780e Bug 1073662 - Part 5: Hook the chunk recycle code up to JEMALLOC_MUNMAP and make it safe for use with MALLOC_DECOMMIT and MALLOC_DOUBLE_PURGE. r=glandium 2014-11-13 22:52:00 +01:00
Emanuel Hoogeveen
0e7c7d96e4 Bug 1073662 - Part 4: Import chunk recycling code from jemalloc3. r=glandium 2014-11-01 12:00:00 +01:00
Emanuel Hoogeveen
891c31cce8 Bug 1073662 - Part 3: Make all chunk-sized and larger allocations go through chunk_alloc. r=glandium 2014-09-26 13:29:00 +02:00
Emanuel Hoogeveen
f8aff7e649 Bug 1073662 - Part 2: Always use the jemalloc3 allocation logic and remove the old logic. r=glandium 2014-09-26 13:27:00 +02:00
Emanuel Hoogeveen
7c217a4de4 Bug 1073662 - Part 1: Remove support for the unused MALLOC_PAGEFILE. r=glandium 2014-09-26 13:27:00 +02:00
Mike Hommey
df7a8ce416 Bug 1097506 - Pass a JSONWriteFunc to dmd::AnalyzeReports instead of a JSONWriter. r=njn
The interesting feature JSONWriteFunc has, contrary to JSONWriter, is that it
only has virtual methods, which makes it a better candidate to be passed
around between libraries not linked against each other.

This will allow to make dmd and libxul independent from each other.
2014-11-13 09:24:28 +09:00
Guilherme Goncalves
e0957f3ac7 Bug 762448 - Disable tcache in jemalloc3. r=glandium 2014-10-23 02:36:00 -04:00
Guilherme Goncalves
278c4010c4 Bug 1093174 - Properly compute the total size for calloc() calls. r=glandium 2014-11-03 09:01:00 -05:00
Guilherme Goncalves
e6ae083bb0 Bug 1090591 - Fix test_dmd.js on jemalloc3 builds. r=njn 2014-10-28 16:13:00 -04:00
Mike Hommey
f95a929b11 Fixup for bug 1077148: SmokeDMD needs mozglue linkage. r=me 2014-10-30 16:33:30 +09:00
Mike Hommey
d667f4bb59 Bug 1077148 part 4 - Add and use new moz.build templates for Gecko programs and libraries. r=gps
There are, sadly, many combinations of linkage in use throughout the tree.
The main differentiator, though, is between program/libraries related to
Gecko or not. Kind of. Some need mozglue, some don't. Some need dependent
linkage, some standalone.

Anyways, these new templates remove the need to manually define the
right dependencies against xpcomglue, nspr, mozalloc and mozglue
in most cases.

Places that build programs and were resetting MOZ_GLUE_PROGRAM_LDFLAGS
or that build libraries and were resetting MOZ_GLUE_LDFLAGS can now
just not use those Gecko-specific templates.
2014-10-30 13:06:12 +09:00
Nicholas Nethercote
e934d99086 Bug 1085727 (part 3, attempt 2) - Print dmd.py's invocation at the top of its output. r=mccr8. 2014-10-20 17:45:58 -07:00
Nicholas Nethercote
b5f25a2bdc Bug 1085727 (part 2, attempt 2) - Remove dmd.py's -b option and make its behaviour the default. r=mccr8. 2014-10-20 17:45:45 -07:00
Nicholas Nethercote
d699ffb940 Bug 1085727 (part 1, attempt 2) - DMD: make some very short functions one-liners. r=mccr8. 2014-10-20 17:45:09 -07:00
Nicholas Nethercote
755b93f87d Bug 1014343 (attempt 2) - Add diff support to dmd.py. r=mccr8. 2014-10-16 19:06:45 -07:00
Nicholas Nethercote
6705ab7753 Bug 1076446 (attempt 2) - Make the DMD test work on Windows. r=glandium. 2014-10-09 19:28:33 -07:00
Andrew McCreight
4c55acb4db Bug 1082128 - Make id to string conversion in DMD use a class. r=njn 2014-10-24 13:44:33 -07:00
Carsten "Tomcat" Book
f22c011ab0 Backed out changeset 835fbe63da4a (bug 1076446) for perma failure in 10.8 mozilla-inbound debug test xpcshell 2014-10-24 12:32:38 +02:00
Carsten "Tomcat" Book
25d0431d7e Backed out changeset 94c5d968e7e8 (bug 1014343) 2014-10-24 12:32:05 +02:00
Carsten "Tomcat" Book
049dc9761b Backed out changeset 450c187cbc1b (bug 1085727) 2014-10-24 12:32:03 +02:00
Carsten "Tomcat" Book
dadc9af9b6 Backed out changeset 2cfce41bed5c (bug 1085727) 2014-10-24 12:32:00 +02:00
Carsten "Tomcat" Book
10bb376603 Backed out changeset 1bb832d0c539 (bug 1085727) 2014-10-24 12:31:51 +02:00
Mike Hommey
a567ba99f8 Bug 1083686 - Tool to capture and reproduce Firefox's memory allocations. r=njn,r=mshal
--HG--
rename : mozglue/build/Makefile.in => mozglue/build/replace_malloc.mk
2014-10-24 13:08:01 +09:00
Mike Hommey
e29f3df03f Bug 1083686 part 0 - Don't set MOZ_MEMORY_API to static for OSX in replace_malloc.c. r=njn
It appears to be an unnecessary optimization, since the compiler is still inlining
the functions when they're not marked static. OTOH, following patches will require
the _impl functions not to be static.
2014-10-24 13:08:01 +09:00
Nicholas Nethercote
d216b9c742 Bug 1085727 (part 3) - Print dmd.py's invocation at the top of its output. r=mccr8.
--HG--
extra : rebase_source : 939ad38842c4e7a93a0a15e88d63ad7adf40a02c
2014-10-20 17:45:58 -07:00
Nicholas Nethercote
a9a59f2ff4 Bug 1085727 (part 2) - Remove dmd.py's -b option and make its behaviour the default. r=mccr8.
--HG--
extra : rebase_source : 8edce2b3d2d09b2ace2a7946a2b705ff44ed4cfa
2014-10-20 17:45:45 -07:00
Nicholas Nethercote
654eaa0aa2 Bug 1085727 (part 1) - DMD: make some very short functions one-liners. r=mccr8.
--HG--
extra : rebase_source : 6b92db54973b57f23d2231b92b9d567da054333e
2014-10-20 17:45:09 -07:00
Nicholas Nethercote
6ee070c9d4 Bug 1014343 - Add diff support to dmd.py. r=mccr8.
--HG--
extra : rebase_source : d91abce6ec9a3b81419f997ed5dfc1b23c89cc7c
2014-10-16 19:06:45 -07:00
Nicholas Nethercote
b3b573ee7b Bug 1076446 - Make the DMD test work on Windows. r=glandium.
--HG--
extra : rebase_source : 7cc8d3b18b0539ff170a98fa1c5706ff46e20d32
2014-10-09 19:28:33 -07:00
Guilherme Goncalves
177e6396f5 Bug 1082199 - Recompute stats in jemalloc_stats when using jemalloc3. r=glandium 2014-10-17 15:55:00 +02:00
Mike Hommey
5015a8682a Bug 1084210 - Simplify tree traversal for memory/replace. r=mshal 2014-10-18 16:16:20 +09:00
Mike Hommey
b08088c7c1 Bug 1077366 - Remove most symbol wrapping from Android builds. r=nfroyd
Since essentially everything is linked to libmozglue and libmozglue takes
precedence in symbol resolution in our dynamic linker, there is no need
to wrap most symbols. PR_GetEnv/PR_SetEnv still needs wrapping because
there's no other way to actually wrap the calls from NSPR itself and NSS,
as well as the symbols wrapped because our dynamic linker can't find them
in system libraries on some devices because they're weak.
2014-10-14 07:17:13 +09:00
Mike Hommey
095f40d1e1 Bug 1081011 - Remove memory/replace/defs.mk. r=mshal 2014-10-14 07:14:34 +09:00
Nicholas Nethercote
d9b1c453b0 Bug 1078981 - Teach dmd.py how to handle gzipped files. r=mccr8. 2014-10-03 00:52:27 -07:00
Nicholas Nethercote
7617782fac Bug 1078979 - Add more testing of dmd.py. r=erahm.
--HG--
rename : memory/replace/dmd/test/full-heap-expected1.txt => memory/replace/dmd/test/full-heap-empty-expected.txt
rename : memory/replace/dmd/test/full-heap-expected4.txt => memory/replace/dmd/test/full-heap-sampled-expected.txt
rename : memory/replace/dmd/test/full-heap-expected2.txt => memory/replace/dmd/test/full-heap-unsampled1-expected.txt
rename : memory/replace/dmd/test/full-heap-expected3.txt => memory/replace/dmd/test/full-heap-unsampled2-expected.txt
rename : memory/replace/dmd/test/full-reports-expected1.txt => memory/replace/dmd/test/full-reports-empty-expected.txt
rename : memory/replace/dmd/test/full-reports-expected4.txt => memory/replace/dmd/test/full-reports-sampled-expected.txt
rename : memory/replace/dmd/test/full-reports-expected2.txt => memory/replace/dmd/test/full-reports-unsampled1-expected.txt
rename : memory/replace/dmd/test/full-reports-expected3.txt => memory/replace/dmd/test/full-reports-unsampled2-expected.txt
extra : rebase_source : 6fc66545db4422a9cd38d734db2b76d3b9b25880
2014-10-09 16:50:12 -07:00
Nicholas Nethercote
079f209c38 Bug 1077230 - Enable the DMD test on Mac 10.8. r=glandium.
--HG--
extra : rebase_source : c298dd524ab29644f93dc204128b8ab5a2a7383c
2014-10-07 23:29:07 -07:00
Nicholas Nethercote
7262d7d554 Bug 1079660 - DMD: don't call malloc et al. directly in the test. r=glandium.
--HG--
extra : rebase_source : 619e57f5624e5fb4fe370608bb4c04cf43a9be00
2014-10-07 21:44:42 -07:00
Nicholas Nethercote
efd2cec666 Bug 1073312 - Test DMD on TBPL (Linux-only). r=glandium.
--HG--
extra : rebase_source : c35cc2bfd6720db35ece715dc7ef900ab5864409
2014-09-28 20:50:52 -07:00
Nicholas Nethercote
435eec853f Bug 1079657 - DMD: Remove the "stress" mode. r=erahm.
--HG--
extra : rebase_source : d0b233a62c1b50facb27d781f9942628f100180e
2014-10-08 14:56:46 -07:00
Nicholas Nethercote
cce4aa7ac7 Bug 1074008 - Add a --fix-stacks option to dmd.py. r=glandium.
--HG--
extra : rebase_source : 6ecfdf21ed09671bf9e1e65072dafc1402052a65
2014-09-28 18:36:49 -07:00
Nicholas Nethercote
e7c6e0dc5f Bug 1044709 - DMD: emit JSON output and use Python for post-processing. r=mccr8.
--HG--
extra : rebase_source : ddc94d9be1ee0acc6dda30540defd5f40db0adcb
2014-09-02 20:34:58 -07:00
Nicholas Nethercote
0249afcc66 Bug 1062709 (part 1, attempt 2) - Add a frame number argument to NS_WalkStackCallback. r=dbaron.
--HG--
extra : rebase_source : 4f7060a9ae0bed180899651c50e8ea8857e72d63
2014-09-10 21:47:01 -07:00
Ed Morley
e322389145 Backed out changeset a0b82c954206 (bug 1062709) for Windows mochitest 5 hangs 2014-10-03 15:06:16 +01:00
Nicholas Nethercote
270fd1eda7 Bug 1062709 (part 1) - Add a frame number argument to NS_WalkStackCallback. r=dbaron.
--HG--
extra : rebase_source : 0f9b2d6310433ed56f5552706fcf2a96571aee25
2014-09-10 21:47:01 -07:00
Nicholas Nethercote
5b0e87974d Bug 1074062 - Fix a DMD link error that only affects some Macs. r=froydnj. 2014-09-29 19:08:45 -07:00
Cervantes Yu
e8f6bd690e Bug 1051633: Make sure magic file descriptors in the content process will not be taken for other uses. r=khuey
--HG--
extra : rebase_source : 5e2dedb855dd5e0e6637d6f42c80c69df8081971
2014-09-30 00:00:00 +08:00
Jim Chen
5031ab0f15 Bug 1067018 - Always specify throw() for nothrow placement new/delete; r=glandium 2014-09-26 15:45:45 -04:00
Jim Chen
9988dcfe61 Bug 1066760 - Use more detailed abort message on Android; r=snorp 2014-09-24 14:12:54 -04:00
Jim Chen
c665929ae2 Bug 1066760 - Redirect mozalloc_abort through Java exception handling; r=snorp 2014-09-24 14:12:54 -04:00
Carsten "Tomcat" Book
08a692af54 Backed out changeset 1e25cd3e8219 (bug 1051633) for B2G ICS Emulator Opt m4 test failures 2014-09-24 11:28:37 +02:00
Cervantes Yu
a1663f5599 Bug 1051633: Make sure magic file descriptors in the content process will not be taken for other uses. r=khuey
--HG--
extra : rebase_source : 2c9baf6ac87744d7049c90284990c0aa48e0f058
2014-08-15 17:19:05 +08:00
Seth Fowler
c6bc53f6f4 Bug 1057894 (Part 1) - Make VolatileBufferPtr's moveable. r=mwu 2014-09-10 17:06:37 -07:00
Nicholas Nethercote
d9eb0443cf Bug 1063321 - Print to the console the paths of all files that DMD opens. r=mccr8.
--HG--
extra : rebase_source : 50a18a0a074f929ab934c5b3eade1c69e6ba4510
2014-09-04 20:45:22 -07:00
Nicholas Nethercote
b818adb5c2 Bug 1050601 - Remove fix-linux-stack.pl. r=ted.
--HG--
extra : rebase_source : f344aa5db9e16575835a7de3df34c311635c128b
2014-09-03 09:24:38 -07:00
Mike Hommey
a653121671 Bug 1059113 - Use templates for shared libraries and frameworks. r=gps
Also force to use the existing template for XPCOM components.
2014-09-04 09:04:45 +09:00
Mike Hommey
6258dd8523 Bug 1059090 - Don't require SOURCES to be set for CPP_UNIT_TESTS and SIMPLE_PROGRAMS. r=mshal 2014-09-03 14:16:37 +09:00
Mike Hommey
fc99c53ae5 Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps 2014-09-03 14:10:54 +09:00
Nicholas Nethercote
6fac42e708 Bug 1061385 - Remove |Writer| parameter from CodeAddressService. r=mccr8.
--HG--
extra : rebase_source : 0ed67121aac5c9f63ed647e31cd5321eca0b25b7
2014-09-01 20:03:06 -07:00
Andrew McCreight
01678b67cb Bug 1058169 - Add explicit ctor annotations in DMD.cpp. r=njn 2014-08-28 12:53:47 -07:00
Nicholas Nethercote
7b2e459063 Bug 1057754 (follow-up) - Allow Valgrind + jemalloc to be combined, because it makes sense when running Cachegrind. r=me. 2014-08-25 20:38:29 -07:00
Nicholas Nethercote
8e075e27cf Bug 1057754 - Remove the bogus Valgrind annotations from mozjemalloc. r=glandium.
--HG--
extra : rebase_source : c6b32f064181d28bf65d291189d87e516f5e0076
2014-08-25 16:59:43 -07:00
Michael Wu
40ecf281b1 Bug 1045977 - Clear heap allocated volatile buffers, r=njn,seth 2014-08-19 15:30:55 -04:00
Terrence Cole
45d3423e01 Bug 1033442 - Remove non-pod realloc from MallocProvider and AllocPolicy; r=jonco
--HG--
extra : rebase_source : 507ab10313127ffcbf905c42438882aa9074c38a
2014-08-05 14:06:35 -07:00
Terrence Cole
374265c0dd Bug 1033442 - Remove non-pod malloc from MallocProvider and AllocPolicy; r=jonco 2014-08-08 13:22:39 -07:00
Terrence Cole
255bf6c3fb Bug 1033442 - Remove non-pod calloc from MallocProvider and AllocPolicy; r=jonco 2014-08-05 14:06:35 -07:00
Mike Hommey
0f4c5d9244 Bug 1047267 - Move remaining OS_LIBS and EXTRA_LIBS to moz.build. r=gps
* * *
Bug 1047267 - To fold with "Move remaining OS_LIBS and EXTRA_LIBS to moz.build"
2014-08-07 14:21:03 +09:00
Mike Hommey
ec54bf6c1f Bug 1045783 - Move most OS_LIBS to moz.build and do some related cleanup. r=mshal 2014-08-06 07:25:33 +09:00
Michael Wu
96c4d7d0c0 Bug 1044193 - Always cleanup on heap allocation path, r=glandium 2014-08-05 02:19:59 -04:00
Mike Hommey
17533c71ec Bug 1046045 - Remove ${srcroot} from cfghdrs_in, cfgoutputs_in and cfghdrs_tup in jemalloc's configure. r=mshal 2014-08-01 15:55:56 +09:00
Andrew McCreight
2a6798b3dd Bug 1004609, part 9 - Rename DMDLocationService to CodeAddressService. r=njn 2014-07-31 16:39:26 -07:00
Andrew McCreight
793d2b091c Bug 1004609, part 7 - Move LocationService into xpcom. r=njn,froydnj 2014-07-31 16:39:25 -07:00
Andrew McCreight
43a9a0c54c Bug 1004609, part 5 - Templatize LocationService over the lock. r=njn 2014-07-31 16:39:25 -07:00
Andrew McCreight
16542c4db5 Bug 1004609, part 4 - Templatize LocationService over the string allocator. r=njn 2014-07-31 16:39:25 -07:00
Andrew McCreight
1f0e0d3eb4 Bug 1004609, part 3 - Templatize LocationService over the string interner. r=njn 2014-07-31 16:39:24 -07:00
Andrew McCreight
2944aa5618 Bug 1004609, part 2 - Templatize LocationService over the writer. r=njn 2014-07-31 16:39:24 -07:00
Andrew McCreight
85d3a846af Bug 1004609, part 1 - Inline the W() macro in LocationService. r=njn
This will make it easier to move it later.
2014-07-31 16:39:24 -07:00
Andrew McCreight
31144f5c89 Bug 1045241 - Make memory reporting for LocationService more normal. r=njn 2014-07-31 16:39:24 -07:00
Mike Hommey
1e79fe55c2 Bug 1043802 - Remove TOOLS_DIRS and TEST_TOOLS_DIRS. r=gps 2014-07-29 08:55:55 +09:00
Nicholas Nethercote
810ad2f254 Bug 1035570 (part 3) - DMD: Add DMDAnalyzeHeap(), a heap snapshot function. r=erahm,mccr8.
The patch also adds DMDAnalyzeReports() as a synonym for DMDReportAndDump(),
and deprecates the latter.

--HG--
extra : rebase_source : 651246aa7a0a301f804c124f25beb0e8ed6cd67f
2014-05-29 23:46:09 -07:00
Nicholas Nethercote
cb229a5b17 Bug 1035570 (part 2) - DMD: make output easier for machines to parse. r=erahm.
There are likely to be post-processing scripts for DMD added in the future. In
anticipation, this patch tweaks DMD's output to be a little more conducive to
machine parsing.

The basic idea is this:

- Lines beginning with '#' are comments and can be ignored, as can blank lines.

- All top level blocks consist of a string ending with '{', and then one or
  more indented lines, and then a closing '}' on its own line. Any multi-line
  things within a block are themselves enclosed in braces.

The diff for memory/replace/dmd/test-expected.dmd shows what this looks like in
practice.

It's a long way from a formal grammar or anything like that, but that would be
overkill. In this form it's quite easy to parse with simple scripts that just
do line-based regexp matching, rather than proper parsing. And it's still very
readable to humans, so I think it's a reasonable balance overall.

--HG--
extra : rebase_source : 64085babd79de3cce13295aa5f16a34dc3ad7697
2014-06-05 19:06:50 -07:00
Nicholas Nethercote
55e087d8b5 Bug 1035570 (part 1) - DMD: Rename TraceRecord as Record. r=erahm.
DMD used to have "stack trace records" and "stack frame records". Bug 1013011
removed the latter, and now "stack trace record" and |TraceRecord| are a bit
unwieldy. This patch changes them to "heap block record" and |Record|.

--HG--
extra : rebase_source : 1d674db9866221f6a170d0eb05aa77fc9f4a1924
2014-06-05 18:57:02 -07:00
Mike Hommey
ad9b49263a Bug 1041936 part 2 - Directly use the static library "xul" to link into "xul-gtest" instead of having an intermediate library "xul" used by "xul-shared" and "xul-gtest". r=gps 2014-07-23 13:33:09 +09:00