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

662 Коммитов

Автор SHA1 Сообщение Дата
Guilherme Goncalves 60eb32a82c Bug 1094275 - Update the in-tree copy of jemalloc3 to commit b4acf73. r=glandium 2014-12-17 09:14:48 +09:00
Nicholas Nethercote 658df429fc Bug 1110455 - Add --sort-by=num-blocks option to dmd.py. r=mccr8.
--HG--
extra : rebase_source : 6d6aa87f102ee069f4f5052607463380c656f80d
2014-12-15 15:04:39 -08:00
Nicholas Nethercote e358318e29 Bug 1111419 - dmd.py: add a cache for recordKeyParts. r=mccr8.
This reduces the runtime on my Linux machine for one large DMD output file from
235 seconds to 105 seconds.

--HG--
extra : rebase_source : bd567319c1207a09fa47b94571066109de1cc9e7
2014-12-15 15:04:34 -08:00
Ehsan Akhgari ebdf8e7c36 Bug 1109746 - Fix more bad implicit constructors in some random code across the tree
--HG--
extra : amend_source : 48ca151cb1ca2193404c65831556051c02093914
2014-12-13 14:17:04 -05:00
Ryan VanderMeulen 9a56a97e41 Backed out changesets 34a66a625618, 32db3daa20fe, and ac15ba8568c5 (bug 1102219) for Gaia unit test failures.
--HG--
extra : rebase_source : 0266cc0b2a6568ca653885745f381df8d6d167ec
2014-12-11 11:28:30 -05:00
ziyunfei 5f470bd4a1 Bug 1102219 - Part 3: Replace String.prototype.contains with String.prototype.includes in chrome code. r=till 2014-12-10 20:50:00 -05:00
Chris Peterson 793516eb34 Bug 1108934 - Fix -Wunused-const-variable warning-as-error in non-unified build of memory/mozalloc. r=glandium 2014-12-08 21:26:27 -08:00
Nicholas Nethercote ee6de8d6c9 Bug 1100851 - Print the mode in dmd.py's output. r=mccr8.
--HG--
extra : rebase_source : ae0f985ba8a74dfec8a36ff1a380279ed18b675b
2014-12-10 13:33:50 -08:00
Nicholas Nethercote 98688c1a41 Bug 1100851 - Tweak DMD to account for the fact that $DMD can now be undefined. r=glandium.
Now that defining $DMD is no longer necessary to run DMD, this patch does the
following.
- Removes all the places where we set DMD=1 (test harnesses, etc.)
- Still handles DMD=1, for backwards compatibility.
- Prints "$DMD is undefined" at DMD start-up if appropriate.
- Writes a |null| value for |dmdEnvVar| in the JSON if $DMD is undefined. Bumps
  the DMD output version number accordingly.
- Changes a bunch of the test files accordingly, including changing the mode of
  script-ignore-alloc-fns.json in order to test a case where $DMD is undefined.

--HG--
extra : rebase_source : eb1ef5722410734ce6d7658465ff6f442ee4ed49
2014-11-27 21:04:46 -08:00
Mike Hommey 548d773d4e Bug 1104634 - Force optimize mozjemalloc on --disable-optimize builds. r=gps
The reason for --disable-optimize is to make debugging easier, but not many
people actually need a high level of debuggability of the allocator itself.
This works around the issue that the Android NDK's definition of ffs is
broken when compiling without optimization, while avoiding to add yet another
configure test.
2014-12-10 10:50:44 +09:00
Nicholas Nethercote 5e166635cb 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 c3648686f0 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 7a1087c6c6 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 e4c12e978c 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 914cf9e473 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 e424225899 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 c04636bda3 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 5fad01bb19 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 29bf26b228 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 f38abd1199 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 d573431119 Bug 1100485 - Lock chunks during double purging to avoid racing with allocation. r=glandium 2014-11-19 09:34:00 +01:00
Mike Hommey e68882a91d 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 558fe59234 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 3cbc3cf69f 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 7def0f9cd3 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 6d15698158 Bug 818922 - Add bidirectional method calls with replace-malloc library. r=njn 2014-11-18 19:21:06 +09:00
Emanuel Hoogeveen f287680906 Bug 1073662 - Part 7: Enable limited chunk recycling on all platforms. r=glandium 2014-11-13 22:56:00 +01:00
Emanuel Hoogeveen 3768ec5def 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 92ebf2b732 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 c6b56644de Bug 1073662 - Part 4: Import chunk recycling code from jemalloc3. r=glandium 2014-11-01 12:00:00 +01:00
Emanuel Hoogeveen 5d83aef48f 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 8696f3a9ae 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 db1349bf19 Bug 1073662 - Part 1: Remove support for the unused MALLOC_PAGEFILE. r=glandium 2014-09-26 13:27:00 +02:00
Mike Hommey 486629b635 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 f843e98e47 Bug 762448 - Disable tcache in jemalloc3. r=glandium 2014-10-23 02:36:00 -04:00
Guilherme Goncalves 6e25e86587 Bug 1093174 - Properly compute the total size for calloc() calls. r=glandium 2014-11-03 09:01:00 -05:00
Guilherme Goncalves bac84fc9f1 Bug 1090591 - Fix test_dmd.js on jemalloc3 builds. r=njn 2014-10-28 16:13:00 -04:00
Mike Hommey baf9350f38 Fixup for bug 1077148: SmokeDMD needs mozglue linkage. r=me 2014-10-30 16:33:30 +09:00
Mike Hommey 47c853314f 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 784661819b 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 03f6ea7b33 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 a2376abcee 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 1cc4337818 Bug 1014343 (attempt 2) - Add diff support to dmd.py. r=mccr8. 2014-10-16 19:06:45 -07:00
Nicholas Nethercote c034f4554a Bug 1076446 (attempt 2) - Make the DMD test work on Windows. r=glandium. 2014-10-09 19:28:33 -07:00
Andrew McCreight 9d6d53c0a1 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 721ef079ea 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 7f8febf801 Backed out changeset 94c5d968e7e8 (bug 1014343) 2014-10-24 12:32:05 +02:00
Carsten "Tomcat" Book 05643db662 Backed out changeset 450c187cbc1b (bug 1085727) 2014-10-24 12:32:03 +02:00
Carsten "Tomcat" Book 2645f2042d Backed out changeset 2cfce41bed5c (bug 1085727) 2014-10-24 12:32:00 +02:00
Carsten "Tomcat" Book f98aae3139 Backed out changeset 1bb832d0c539 (bug 1085727) 2014-10-24 12:31:51 +02:00
Mike Hommey e25908f6c5 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 746f48e4a4 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 c2600a1df4 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 f30801d3b1 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 335a2797b2 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 c0a7f6141b 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 f999a06e8c 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 258ec900a4 Bug 1082199 - Recompute stats in jemalloc_stats when using jemalloc3. r=glandium 2014-10-17 15:55:00 +02:00
Mike Hommey dc73315d0c Bug 1084210 - Simplify tree traversal for memory/replace. r=mshal 2014-10-18 16:16:20 +09:00
Mike Hommey b77d0f1d19 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 88fe5f4270 Bug 1081011 - Remove memory/replace/defs.mk. r=mshal 2014-10-14 07:14:34 +09:00
Nicholas Nethercote cc932736f4 Bug 1078981 - Teach dmd.py how to handle gzipped files. r=mccr8. 2014-10-03 00:52:27 -07:00
Nicholas Nethercote 0ef774a775 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 6ccf9b780f 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 2d0de679b9 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 2afe8789d3 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 7c2c456eee Bug 1079657 - DMD: Remove the "stress" mode. r=erahm.
--HG--
extra : rebase_source : d0b233a62c1b50facb27d781f9942628f100180e
2014-10-08 14:56:46 -07:00
Nicholas Nethercote 5125ee044f 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 09a193e478 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 2eb56008e2 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 2d0f9579b5 Backed out changeset a0b82c954206 (bug 1062709) for Windows mochitest 5 hangs 2014-10-03 15:06:16 +01:00
Nicholas Nethercote c9c64de53c 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 ab3a061374 Bug 1074062 - Fix a DMD link error that only affects some Macs. r=froydnj. 2014-09-29 19:08:45 -07:00
Cervantes Yu f306f96f76 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 52a3b4cf21 Bug 1067018 - Always specify throw() for nothrow placement new/delete; r=glandium 2014-09-26 15:45:45 -04:00
Jim Chen 2c4251ec3e Bug 1066760 - Use more detailed abort message on Android; r=snorp 2014-09-24 14:12:54 -04:00
Jim Chen ead154121a Bug 1066760 - Redirect mozalloc_abort through Java exception handling; r=snorp 2014-09-24 14:12:54 -04:00
Carsten "Tomcat" Book 293a55afc8 Backed out changeset 1e25cd3e8219 (bug 1051633) for B2G ICS Emulator Opt m4 test failures 2014-09-24 11:28:37 +02:00
Cervantes Yu 5d34df52be 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 3fa8c4b046 Bug 1057894 (Part 1) - Make VolatileBufferPtr's moveable. r=mwu 2014-09-10 17:06:37 -07:00
Nicholas Nethercote c632d54478 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 ab2d367e37 Bug 1050601 - Remove fix-linux-stack.pl. r=ted.
--HG--
extra : rebase_source : f344aa5db9e16575835a7de3df34c311635c128b
2014-09-03 09:24:38 -07:00
Mike Hommey 4b99580194 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 0060683747 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 ed70c5f377 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 44c8808fe5 Bug 1061385 - Remove |Writer| parameter from CodeAddressService. r=mccr8.
--HG--
extra : rebase_source : 0ed67121aac5c9f63ed647e31cd5321eca0b25b7
2014-09-01 20:03:06 -07:00
Andrew McCreight 6b43ca78e1 Bug 1058169 - Add explicit ctor annotations in DMD.cpp. r=njn 2014-08-28 12:53:47 -07:00
Nicholas Nethercote ee0e0c98ea 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 015fc70f98 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 4981d589cb Bug 1045977 - Clear heap allocated volatile buffers, r=njn,seth 2014-08-19 15:30:55 -04:00
Terrence Cole 6606ad7310 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 b057565fa0 Bug 1033442 - Remove non-pod malloc from MallocProvider and AllocPolicy; r=jonco 2014-08-08 13:22:39 -07:00
Terrence Cole a6741673cf Bug 1033442 - Remove non-pod calloc from MallocProvider and AllocPolicy; r=jonco 2014-08-05 14:06:35 -07:00
Mike Hommey 89777800f9 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 d9443ec932 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 215e87179b Bug 1044193 - Always cleanup on heap allocation path, r=glandium 2014-08-05 02:19:59 -04:00
Mike Hommey ec2824d0be 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 a2acb5b3e5 Bug 1004609, part 9 - Rename DMDLocationService to CodeAddressService. r=njn 2014-07-31 16:39:26 -07:00
Andrew McCreight 081e25d9f3 Bug 1004609, part 7 - Move LocationService into xpcom. r=njn,froydnj 2014-07-31 16:39:25 -07:00
Andrew McCreight e887e90c1e Bug 1004609, part 5 - Templatize LocationService over the lock. r=njn 2014-07-31 16:39:25 -07:00
Andrew McCreight 4f5a5b0ccc Bug 1004609, part 4 - Templatize LocationService over the string allocator. r=njn 2014-07-31 16:39:25 -07:00
Andrew McCreight 2291ebfec8 Bug 1004609, part 3 - Templatize LocationService over the string interner. r=njn 2014-07-31 16:39:24 -07:00
Andrew McCreight 7059a06996 Bug 1004609, part 2 - Templatize LocationService over the writer. r=njn 2014-07-31 16:39:24 -07:00
Andrew McCreight 2456c62fdb 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 66f4b63c5e Bug 1045241 - Make memory reporting for LocationService more normal. r=njn 2014-07-31 16:39:24 -07:00
Mike Hommey 5f6ba110e6 Bug 1043802 - Remove TOOLS_DIRS and TEST_TOOLS_DIRS. r=gps 2014-07-29 08:55:55 +09:00
Nicholas Nethercote c07ebda3e2 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 c375f811f6 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 cb210b1e27 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 7cab62150a 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
Mike Hommey 5fab42fcaf Bug 1036894 part 8 - Move most in-tree library linkage information to moz.build, as USE_LIBS. r=gps 2014-07-23 13:30:52 +09:00
Mike Hommey 6d6d400ea1 Bug 1036894 part 6 - Emit SimplePrograms for CPP_UNIT_TESTs, and make the corresponding moz.build config look like that of SIMPLE_PROGRAMS. r=gps 2014-07-23 13:29:44 +09:00
Mike Hommey a33d7d67e6 Bug 1036894 part 1 - Move MAKE_FRAMEWORK, SDK_LIBRARY, SHARED_LIBRARY_NAME and STATIC_LIBRARY_NAME to moz.build. r=gps
At the same time, make the Library data more useful in the build frontend.
2014-07-23 13:29:09 +09:00
Makoto Kato a0f8ec3066 Bug 1030899 - Remove issetugid usage on jemalloc. r=glandium 2014-07-08 17:52:09 +09:00
Chris Peterson 0b109cf641 Bug 1033188 - #include <stdlib.h> for getenv() function declaration. r=glandium 2014-07-01 18:49:52 -07:00
Patrick Wang (Chih-Kai Wang) 01cc0c8352 Bug 1026864: prevent malloc from calling wrapped pthread_mutex_lock and get rid of LibcAllocator. r=cyu,r=glandium,r=khuey 2014-06-25 10:44:58 +08:00
Ehsan Akhgari b7d21c0be3 Bug 1028684 - Fix the signature of _msize in jemalloc.c; r=glandium
This function accepts a void* argument, not a const void*.

--HG--
extra : rebase_source : 9c5cd5066b3730871e06465a84f9a27a6adc6204
2014-06-24 07:20:22 -07:00
Jed Davis 10b28157d6 Bug 1011350 - Use TaggedAnonymousMemory to distinguish our various mmap call sites. r=njn
We can probably get more granular information than this, given that we
can re-tag memory after the initial mapping, or tag subregions of an
individual mmap() call differently.  But this is a start.
2014-06-17 17:55:00 +02:00
Ehsan Akhgari de07b6927f Bug 1025906 - Include intrin.h in jemalloc.c; r=glandium
This fixes a linking error with clang-cl.
2014-06-16 22:34:26 -04:00
Mike Hommey 33996c49d0 Bug 1024097 - Allow jemalloc to build with clang-cl. r=njn 2014-06-13 08:44:19 +09:00
Mike Hommey d895ddcdda Bug 1019881 - Ensure the default purgeable zone is after the default zone on OS X. rs=njn 2014-06-11 11:07:27 +09:00
Michael Wu 5eef3f4fe6 Bug 994081 - [1/3] Make VolatileBufferPtrs more flexible, r=glandium 2014-04-18 12:26:49 -04:00
Chris Peterson e64776099d Bug 1019381 - Cherrypick clang and gcc warning fixes from upstream jemalloc. r=glandium 2014-05-28 19:02:11 -07:00
Mike Hommey 550b98dd2a Bug 965870 - Check for __builtin_ffsl before ffsl. r=mshal
Cherry-picked from 1a3eafd1b0
2014-06-06 08:17:02 +09:00
Mike Hommey cd80276444 Bug 965870 - Try to use __builtin_ffsl if ffsl is unavailable. r=mshal
Cherry-picked from 9c3a10fdf6
2014-06-06 08:15:58 +09:00
Mike Hommey 529eddba7d Bug 945582 - Don't use jemalloc3 C99 headers with MSVC versions that have (some) C99 support. r=mshal
--HG--
rename : memory/jemalloc/src/include/msvc_compat/inttypes.h => memory/jemalloc/src/include/msvc_compat/C99/inttypes.h
rename : memory/jemalloc/src/include/msvc_compat/stdbool.h => memory/jemalloc/src/include/msvc_compat/C99/stdbool.h
rename : memory/jemalloc/src/include/msvc_compat/stdint.h => memory/jemalloc/src/include/msvc_compat/C99/stdint.h
2014-05-31 09:54:23 +09:00
Nicholas Nethercote cd36741010 Bug 1017911 - DMD: don't use alloca(), because it's a pain to get working on multiple platforms. r=mccr8.
DONTBUILD because DMD is NPOTB.

--HG--
extra : rebase_source : 0b400b76583032f30a9a4b8c935b03c015fc9772
2014-05-29 17:04:23 -07:00
Jan Beich 98b8342812 Bug 1015602 - Populate chunksize/bin_unused for MOZ_JEMALLOC3 as they're now used after bug 1006769. r=erahm 2014-05-24 06:41:00 -04:00
Ehsan Akhgari bab7c39fd4 Bug 1015012 - Make the VolatileBuffer constructors explicit; r=froydnj 2014-05-25 21:25:33 -04:00
Eric Rahm a772941928 Bug 1006769 - Part 2: Backport jemalloc3 run_size_calc logic. r=glandium 2014-05-21 17:34:07 -07:00
Eric Rahm 33a51f0c36 Bug 1006769 - Part 1: Improve heap-overhead memory reporting. r=njn 2014-05-21 17:34:06 -07:00
Nicholas Nethercote d71b0cc308 Bug 1014249 - Beef up the "is DMD enabled?" and "is DMD running?" checks. r=mccr8.
--HG--
extra : rebase_source : 868ce1a1e470e45f51447f5126982aaeb51905f1
2014-05-22 19:45:14 -07:00
Nicholas Nethercote b5aba0afc1 Bug 1013014 (attempt 2) - Disable Trace Malloc on TBPL debug builds. r=glandium.
--HG--
extra : rebase_source : 08fa200fd205225f85b9845bf8c18ac38fe26e0d
2014-05-19 18:16:42 -07:00
Mike Hommey 631f8f3393 Bug 1014308 - Update jemalloc3 to upstream 3.6.0. r=njn,r=mshal 2014-05-23 07:26:40 +09:00
Mike Hommey b01a539557 Bug 1014300 - Ship replace_jemalloc library (jemalloc3) when replace-malloc is enabled. r=mshal 2014-05-23 07:24:22 +09:00
Nicholas Nethercote 9473865cce Bug 1013011 - DMD: Remove stack frame records. r=erahm.
DONTBUILD because DMD is NPOTB.
2014-05-19 19:57:50 -07:00
Eric Rahm 1058655d11 Bug 1000621 - Check if DMD is enabled before dumping. r=njn. DONTBUILD 2014-04-24 12:43:11 -07:00
Nathan Froyd d1b55ffa24 Bug 993522 - fix comment in DMD.h; r=njn 2014-04-08 13:07:46 -04:00
Michael Wu 7c61e5f14c Bug 985017 - [1/2] Support null VolatileBufferPtrs, r=glandium 2014-04-02 21:32:54 -04:00
Mike Hommey 4915133ee5 Bug 984447 - Properly handle forks in mozjemalloc after bug 694896. r=smichaud 2014-03-29 16:53:49 +09:00
Thomas Zimmermann 739b082bdc Bug 979887: Fix GCC warning about undeclared function |vsnprintf|, r=glandium 2014-03-06 11:20:00 +01:00
Thomas Zimmermann 724de1c4a9 Bug 979887: Fix GCC warnings about inline variable declarations, r=glandium
Some code is compiled in C90 mode, where inline declarations of
variables are not allowed.
2014-03-06 11:19:57 +01:00
Ehsan Akhgari 17f4a32d8b Bug 976896 - Port STL_FLAGS to moz.build; r=mshal 2014-03-04 19:39:06 -05:00
Masatoshi Kimura 04f17d8a37 Bug 978442 - Use WindowsVersion.h from VolatileBuffer. r=mwu 2014-03-02 10:29:13 +09:00
Frank Wein cb16191dfc Bug 977667 - VolatileBufferFallback.cpp:16:10: error: ‘nullptr’ was not declared in this scope, r=glandium 2014-02-28 12:32:14 +01:00
Ehsan Akhgari 7e41f47adf Bug 935778 - Part 0.4: Spray even more MOZ_DECLARE_REFCOUNTED_TYPENAME across the tree 2014-02-21 09:11:33 -05:00
Jacek Caban 5ebe3bf5e9 Bug 748598 - Fixed cross compilation on case sensitive OSes. 2014-02-20 17:22:42 +01:00
Michael Wu 01ca9b9c89 Bug 972693 - Explicitly ignore return values from moz_posix_memalign, r=glandium 2014-02-14 02:15:44 -05:00
Ehsan Akhgari 996229d3d0 Bug 973403 - Move the LOCAL_INCLUDES in memory to moz.build; r=glandium 2014-02-18 01:05:51 -05:00
Ms2ger 33da18c67e Bug 968856 - Move unconditional LOCAL_INCLUDES into moz.build; r=mshal 2014-02-15 21:24:59 +01:00
Michael Wu a02c5cf42e Bug 748598 - Implement VolatileBuffer for OSX, Ashmem, and Windows, r=njn,glandium 2014-01-22 08:23:27 -05:00
David Major cd455b826e Bug 860254 - Part 4: Enable poisoning. r=glandium 2014-02-13 20:11:15 -05:00
David Major 445940d0b6 Bug 860254 - Part 2: Split junk settings into opt_junk (allocate) versus opt_poison (deallocate). r=glandium 2014-01-14 11:56:18 -08:00
David Major 9989920680 Bug 860254 - Part 1: #define MALLOC_FILL but keep the options const-false. r=glandium 2014-02-13 20:10:35 -05: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
Eric Rahm 7b205832d2 Bug 968956 - DMD: Acquire state lock before clearing reports. r=njn.
DONTBUILD because DMD is NPOTB.

--HG--
extra : rebase_source : c3e5b2f27d4983c5802f1a38c8accc31a2b07fa2
2014-02-07 15:23:50 -08:00
Marcin Juszkiewicz 420122fd2c Bug 963028 - AArch64 support for jemalloc. r=froydnj 2014-01-23 16:34:31 -05:00
Shelly Lin 4da13e0a0a Bug 801571 - Override vasprintf and asprint for Android platform to avoid the mismatch of malloc()/free(). r=glandium 2014-01-17 16:54:06 +08:00
Ryan VanderMeulen da06e090f6 Backed out changeset 4230d328b65f (bug 801571) for memory leaks. 2014-01-17 14:25:28 -05:00
Shelly Lin 5a3b503309 Bug 801571 - Override vasprintf and asprint for Android platform to avoid the mismatch of malloc()/free(). r=glandium
DONTBUILD
2014-01-17 16:54:06 +08:00
Ryan VanderMeulen 913aa4dc43 Backed out changeset 0496d73bf88e for landing with the wrong bug # in the commit message. 2014-01-17 11:13:30 -05:00
Shelly Lin 7a3e6b8008 Bug 801517 - Override vasprintf and asprint for Android platform to avoid the mismatch of malloc()/free(). r=glandium 2014-01-17 16:54:06 +08:00
Kai-Zhen Li d8cf29acff Bug 957450 - fix compile error from jemalloc in gonk-kk. r=gal 2014-01-10 14:14:53 +08:00
Marco Chen 46177c53e2 Backout 977d6be3df40 Bug 957450 - The added "or condition" didn't prevent gonk-kk version fall into non-const definition. 2014-01-15 15:55:12 +08:00
Jon Coppeard 8e8c44704e Bug 956501 - Update mozjemalloc chunk_alloc_mmap functions to latest upstream version r=glandium 2014-01-14 10:06:25 +00:00
Kai-Zhen Li 5979fa3eb3 Bug 957450 - fix compile error in gonk-kk. r=iacobcatalin 2014-01-10 14:14:53 +08:00
Nicholas Nethercote 2342cace79 Bug 950545 (part 2) - Fix assertion failures and output mismatches in the DMD test. r=iacobcatalin.
DONTBUILD because DMD is NPOTB

--HG--
extra : rebase_source : 48388b467bcbce8347792c8e7f0cb45b1fc177aa
2013-12-18 13:58:08 -08:00
Nicholas Nethercote ac0a3065c4 Bug 950545 (part 1) - Fix the dump numbering in the DMD test. r=iacobcatalin.
--HG--
extra : rebase_source : 2b04382850c19aff46fce02d02ce1c235edde473
2013-12-18 13:55:47 -08:00
Nicholas Nethercote 6b9163f560 Bug 948621 (part 2) - Abort DMD-enabled Windows builds unless --enable-profiling is specified. r=ehsan.
--HG--
extra : rebase_source : 7398d8d7f13792912f27948f9681ff608a0e90c6
2013-12-15 13:50:39 -08:00
Nicholas Nethercote 736ea6d8cf Bug 948621 (part 1) - DMD: Handle arbitrary PC values in stack frames. r=iacobcatalin.
DONTBUILD because NPOTB

--HG--
extra : rebase_source : 63a30251498dc5e5df2952a468f46ada8598e03e
2013-12-15 13:47:11 -08:00
Mike Hommey 62d390485a Bug 945042 - Move NO_PROFILE_GUIDED_OPTIMIZE to moz.build. r=gps,r=njn 2013-12-09 13:39:26 +09:00
Birunthan Mohanathas 68b00083fd Bug 713082 - Part 1: Remove unnecessary Util.h includes. r=Waldo 2013-12-08 21:52:33 -05:00
Mike Shal ddecae52a4 Bug 875013 - Remove VPATH; r=glandium 2013-11-21 14:57:06 -05:00
Markus Stange c1c64aef1e Bug 945131 - Fix DMD build by using const char*. r=njn
DONTBUILD because NPOTB
2013-12-02 23:13:20 +01:00
Catalin Iacob 269fad5982 Bug 819839 - Part 2 - Print file name and line number if available in DMD report. r=njn 2013-11-29 16:09:42 +01:00
Mike Hommey 8fd06cf41b Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-27 22:55:07 +09:00
Mike Hommey b32a4ed166 Backout changeset 3fd4b546eed4 (bug 874266) and changeset a35d2e3a872f (bug 942043) for ASAN build bustage and Windows test bustage
--HG--
extra : amend_source : f20d09aeff1c8b5cbd0f1d24c7ce04e86f3aed1d
2013-11-28 14:24:05 +09:00
Mike Hommey 682364d535 Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-28 13:08:16 +09:00
Catalin Iacob fe5d12c0e2 Bug 940218 - Build memory/ in unified mode; r=ehsan 2013-11-25 12:09:59 +01:00
Ehsan Akhgari e58130769b Backed out changeset c3d41ab0a2df (bug 940218) for causing bug 941616
--HG--
extra : rebase_source : c0d9b2840ddb6a6b88b86cfc3e3a6810ac9e37e2
2013-11-21 14:28:52 -05:00
Nathan Froyd fb9e458abe Bug 941616 - fix jemalloc build for --enable-replace-malloc; r=ehsan 2013-11-21 09:46:32 -05:00
Chris Peterson 4be77ac908 Bug 940218 - Build memory/jemalloc and friends in unified mode. r=glandium 2013-11-17 01:16:36 -08:00
Mike Hommey b2e90f6233 Bug 914245 - Move FORCE_SHARED_LIB to moz.build. r=mshal 2013-11-19 11:47:45 +09:00
Mike Hommey e80e877ab7 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey dda5b915fe Bug 939039 - Remove now useless FORCE_STATIC_LIB definitions. r=gps 2013-11-19 11:47:28 +09:00
Mike Hommey ffe0380912 Bug 935881 - Use FINAL_LIBRARY for all (fake) libraries that end up linked in a single other library. r=gps 2013-11-19 11:47:14 +09:00
Birunthan Mohanathas 02a1314689 Bug 784739 - Switch from NULL to nullptr in miscellaneous directories; r=ehsan 2013-11-11 14:17:14 -05:00
Daniel Holbert 4908bbab5e Bug 926275: Remove mozalloc_macro_wrappers.h and mozalloc_undef_macro_wrappers.h. r=bsmedberg 2013-10-31 19:39:03 -07:00
David Major 06ff88fdbc Bug 931196 - Remove MOZ_TEMP_INVESTIGATION poisoning code. r=glandium 2013-10-31 11:52:08 -04:00
Ted Mielczarek 673fd74516 Bug 930674 - convert VISIBILITY_FLAGS in Makefile.in to NO_VISIBILITY_FLAGS in moz.build. r=mshal 2013-10-24 15:06:19 -04:00
Cykesiopka d733533b8f Bug 914270 - Part 2: Manual moves. r=joey 2013-10-24 18:52:00 +01:00
Cykesiopka d2f6b7333c Bug 914270 - Part 1: Simple/Automated moves. r=joey 2013-10-24 18:51:00 +01:00
Mike Hommey b000a846c2 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Mike Hommey 3fa7456cd6 Bug 913268 - Make CPP_SOURCES a StrictOrderingOnAppendList. r=mshal 2013-10-24 08:00:23 +09:00
Masatoshi Kimura ede451acef Bug 928210 - Get rid of MOZ_INLINE 2013-10-22 06:34:24 +09:00
Nathan Froyd 23a4aa4d48 Bug 925169 - part 1 - don't use MOZ_MEMORY_SIZEOF_PTR_2POW in jemalloc.c; r=glandium 2013-10-09 19:04:43 -04:00
Ms2ger 6d43820437 Bug 923489 - Part c: qualify paths in memory/replace/dmd/; r=gps 2013-10-05 13:28:25 +02:00
Ms2ger ef9afa38e7 Bug 923489 - Part b: qualify paths in memory/replace/jemalloc/; r=gps 2013-10-05 12:19:08 +02:00
Ms2ger 00cffa4842 Bug 923489 - Part a: qualify paths in memory/jemalloc/; r=gps 2013-10-05 12:18:36 +02:00
Mike Hommey f8bc7fa754 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00