Wes Kocher
638b28b8e0
Backed out changeset 02e6a50741a9 (bug 1153348) to hopefully fix the static bustage CLOSED TREE
2015-04-21 15:47:40 -07:00
Ehsan Akhgari
3d21a05904
Bug 1153348 - Add an analysis to prohibit operator bools which aren't marked as either explicit or MOZ_IMPLICIT; r=jrmuizel
...
This is the counterpart to the existing analysis to catch
constructors which aren't marked as either explicit or
MOZ_IMPLICIT.
2015-04-21 16:31:58 -04:00
Jed Davis
83dc2d2c83
Bug 1128705 - Don't redefine PAGE_SIZE in DMD if it's already defined. r=erahm
...
--HG--
extra : rebase_source : 978b2d5440e448dec97affa98c8f5c712fcbb051
2015-04-20 14:15:00 +02:00
Jim Blandy
a1f8669a0c
Bug 1062473: Use mozalloc's moz_malloc_size_of in the JS shell, not our own custom copy. r=glandium
...
--HG--
extra : rebase_source : 0d35302f40bbc602d0338d1bcb563b045babd441
2015-04-13 16:11:32 -07:00
Jim Blandy
1121ad9a09
Bug 1145051: Don't include xpcom-config.h from mozalloc.h; it's unused. r=glandium
...
--HG--
extra : rebase_source : 7218f1f16db1d6c439583022c4dc73e4da8e4312
2015-03-19 01:03:05 -07:00
Jim Blandy
6afdd6c96b
Bug 1145051: Use MOZ_WARN_UNUSED_RESULT instead of NS_WARN_UNUSED_RESULT. r=glandium
...
--HG--
extra : rebase_source : d210822225d307f3e3685cb5f95b461c48c0be7e
2015-03-19 00:46:40 -07:00
Jim Blandy
a778e9f970
Bug 1145051: Replace uses of NS_ATTR_MALLOC with new MOZ_ALLOCATOR from mfbt/Attributes.h. r=glandium
...
--HG--
extra : rebase_source : 294215445f084687ed7fa51b88e7a22e586447a2
2015-03-18 23:56:08 -07:00
ISHIKAWA, Chiaki
5933b89b08
Bug 1147248 - GCC 4.9 needs this patch to use address sanitizer. r=glandium
...
--HG--
extra : rebase_source : 08c553d5b5ff76abd81b070ccd6e2f058a2c4e4b
2015-04-10 15:05:00 +02:00
Mike Hommey
26b3c4f285
Bug 1138293 - Remove moz_malloc/moz_free/moz_realloc/moz_calloc. r=njn
...
We need to use _impl variants within mozalloc.h when they are defined because
of how mozglue.dll is linked on Windows, where using malloc/free would use
the symbols from the MSVCRT instead of ours.
2015-03-31 12:32:49 +09:00
Mike Hommey
7fef46c799
Bug 1142434 - Remove moz_memalign/moz_valloc, nothing uses them. r=njn
2015-03-31 12:26:45 +09:00
Mike Hommey
d0806aa5f6
Bug 1142434 - Remove moz_strdup/moz_strndup, nothing uses them. r=njn
2015-03-31 12:26:45 +09:00
Ehsan Akhgari
883849ee32
Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
...
This patch was automatically generated using the following script:
function convert() {
echo "Converting $1 to $2..."
find . \
! -wholename "*/.git*" \
! -wholename "obj-ff-dbg*" \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Mike Hommey
5b1c46a9cb
Followup for bug 868814 - replace non-obvious #if with simpler alternative. rs=njn
2015-03-17 10:04:20 +09:00
Mike Hommey
b8f2a1380c
Bug 1141731 - Avoid problems caused by the inclusion of mozmemory.h in mozalloc.cpp by including mozmemory_wrap.h instead. r=njn
2015-03-11 16:03:53 +09:00
Wes Kocher
b9f1c057ec
Backed out changeset ff08cf105def (bug 1141731) for osx bustage
2015-03-10 18:34:28 -07:00
Mike Hommey
e5effb28c1
Bug 1141731 - Avoid problems caused by the inclusion of mozmemory.h in mozalloc.cpp by including mozmemory_wrap.h instead. r=njn
2015-03-11 09:52:04 +09:00
Mike Hommey
635ebcf228
Bug 1141660 - Fix bustage from bug 868814 with --disable-replace-malloc. r=njn
2015-03-11 09:52:03 +09:00
Mike Hommey
b35abc35cc
Bug 1139357 - Make jemalloc3's --without-export actually work. r=njn
2015-03-10 10:01:53 +09:00
Mike Hommey
364038011c
Bug 868814 - Fold mozalloc library into mozglue. r=njn
...
--HG--
rename : memory/mozalloc/moz.build => memory/mozalloc/staticruntime/moz.build
2015-03-10 10:01:52 +09:00
Mike Hommey
abd5c031e0
Bug 1138705 - Preserve LastError when calling TlsGetValue. r=njn
...
TlsGetValue has a semantic difference with pthread_getspecific, in that it
can return a non-error NULL value, so it always sets the LastError.
But allocator callers may not be expecting calling e.g. free() to change
the value of the last error, so preserve it.
2015-03-04 14:40:09 +09:00
Anish
4063a569ed
Bug 958147 - Choose one of run-if or skip-if and get rid of the other.r=jmaher, mwargers
2015-03-03 08:46:37 -05:00
Mike Hommey
6dd0c8c299
Bug 762449 - Fix "result of 32-bit shift implicitly converted to 64 bits" on win64. r=njn
2015-03-02 07:35:28 +09:00
Mike Hommey
cefaffffe9
Bug 762449 - Make jemalloc's opt.lg_dirty_mult work as documented. r=njn
2015-03-02 07:35:28 +09:00
Chris Peterson
a7dcfcca64
Bug 1129326 - Remove nonstandard let blocks from memory/replace/dmd/test/test_dmd.js. r=njn
2015-01-24 23:37:31 -08:00
Brian Smith
1bb835dbca
Bug 1128413, Part 4: Fix warnings in mozilla-config.h and gcc-stl-wrapper.template.h, r=glandium
...
--HG--
extra : rebase_source : 7ba4fb8a0bd11648908e2790e86ce3bb4517aeb7
2015-02-02 17:35:19 -08:00
Mike Hommey
a35dbaeebf
Bug 1126593 - Add a global fallible instance, so that using fallible works directly, everywhere. r=njn
...
--HG--
rename : memory/mozalloc/fallible.h => memory/fallible/fallible.h
2015-02-02 09:56:13 +09:00
Mike Hommey
03b3291d3f
Bug 1120272 - Expose _aligned_alloc and _aligned_free from mozglue. r=njn
2015-01-20 13:10:00 +09:00
Seth Fowler
fb673b7c3a
Bug 1121297 (Part 2) - Make VolatileBuffer threadsafe. r=glandium
2015-01-16 15:47:35 -08:00
Seth Fowler
26bd4c1cb6
Bug 1121297 (Part 1) - Move VolatileBuffer into libxul. r=glandium
...
--HG--
rename : memory/mozalloc/VolatileBuffer.h => memory/volatile/VolatileBuffer.h
rename : memory/mozalloc/VolatileBufferAshmem.cpp => memory/volatile/VolatileBufferAshmem.cpp
rename : memory/mozalloc/VolatileBufferFallback.cpp => memory/volatile/VolatileBufferFallback.cpp
rename : memory/mozalloc/VolatileBufferOSX.cpp => memory/volatile/VolatileBufferOSX.cpp
rename : memory/mozalloc/VolatileBufferWindows.cpp => memory/volatile/VolatileBufferWindows.cpp
rename : memory/mozalloc/moz.build => memory/volatile/moz.build
rename : memory/mozalloc/tests/TestVolatileBuffer.cpp => memory/volatile/tests/TestVolatileBuffer.cpp
rename : memory/mozalloc/tests/moz.build => memory/volatile/tests/moz.build
2015-01-16 15:47:22 -08:00
Nicholas Nethercote
a479e9ccad
Bug 1121830 - DMD: add "num" property to blocks in the output. r=mccr8.
...
The new "num" property lets identical blocks be aggregated in the output. This
patch only uses the "num" property for dead blocks, because that's where the
greatest potential benefit lies, but it could be used for live blocks as well.
On one test case (a complex PDF file) running with --mode=cumulative
--sample-below=1 this patch had the following effects.
- Change in running speed was negligible.
- Compressed output file size dropped from 8.8 to 5.0 MB.
- Compressed output file size dropped from 297 to 50 MB.
- dmd.py runtime (without stack fixing) dropped from 30 to 8 seconds.
--HG--
extra : rebase_source : 46a32058cd5c31cd823fe3f1accb5e68bcd320f3
2015-01-15 20:38:38 -08:00
Nicholas Nethercote
059cf96c41
Bug 1122337 - Mark DMD directories as FAIL_ON_WARNINGS. r=glandium.
...
The DEFINES and XPCOM_API changes are needed to get rid of "inconsistent dll
linkage" warnings on Windows builds.
--HG--
extra : rebase_source : 00756f51ebee85c70f65d51dbac17b4835262697
2015-01-15 21:17:18 -08:00
Mike Hommey
af38583e2e
Bug 1121314 - Avoid needing the arena in chunk_alloc_default to avoid possible infinite loops involving a0malloc. r=njn
...
The infinite loop happens if chunk_alloc_arena needs to be called when a0malloc
is called. It in turn calls chunk_alloc_default, which uses tsd, which calls
a0malloc if it's the first time the tsd is being gotten from the current thread.
tsd only uses a0malloc on platforms where there is no native thread local storage
support, which, for Mozilla, essentially means anything that is not Linux.
But the tsd is only neededto get the dss precedence setting of the given arena.
That setting has no effect when dss is disabled, which it is on Windows and Mac.
Moreover, the default setting for dss precedence is "secondary", which means
jemalloc only tries dss after it failed to get memory with mmap/VirtualAlloc.
Considering the cases where mmap/VirtualAlloc would fail essentially means
there is shortage of address space, sbrk() is not going to have much more
success, so we might as well disable dss support on all platforms, avoiding
the infinite loop problem on Android and B2G as well.
2015-01-14 15:18:49 +09:00
Mike Hommey
2e083509f2
Bug 1120798 - Use a larger realloc in one of the DMD tests so that it passes for mozjemalloc as well as jemalloc3. r=njn
2015-01-14 15:18:49 +09:00
Masatoshi Kimura
bf312ad056
Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo
2015-01-11 11:34:52 +09:00
Brad Lassey
0e7333b6e7
bug 1083116 - build fails: malloc_decls.h conflicting types for 'malloc_usable_size' r=glandium
2015-01-06 19:58:36 -05:00
Nicholas Nethercote
cdd9ba9d57
Bug 1088343 (part 2) - Enable test_dmd on Win64. r=glandium.
...
--HG--
extra : rebase_source : b85a5e35c71f44d7f615bc67863711a4876e9da4
2015-01-08 16:04:43 -08:00
Ehsan Akhgari
4354953b4f
Bug 1118486 - Part 1: Use = delete
instead of MOZ_DELETE directly; r=Waldo
...
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:
#!/bin/bash
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "*/.git*" \
! -wholename "obj-*" \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert MOZ_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Guilherme Goncalves
c6a10e7bb5
Bug 899126 - Part 2 - Measure bookkeeping in jemalloc3. r=glandium.
2014-12-29 13:42:14 -08:00
Guilherme Goncalves
750b113679
Bug 899126 - Part 1.5 - Implement bookkeeping for jemalloc3. r=glandium
2014-12-29 13:37:24 -08:00
Jan Beich
f4828d35f5
Bug 1115078 - Unbreak MOZ_JEMALLOC3 build on FreeBSD after bug 899126. r=glandium
2014-12-23 12:32:00 -05:00
Guilherme Goncalves
1fb7597a1b
Bug 1110514 - Use arena.<i>.purge to free jemalloc3's dirty pages. r=glandium
2014-12-23 02:41:00 -05:00
Guilherme Goncalves
802cb55877
Bug 1108045 - Junk memory with jemalloc3. r=glandium
2014-12-23 07:44:00 -05:00
Guilherme Goncalves
f9d70a5255
Bug 762448 - Bump opt.lg_dirty_mult in jemalloc3 to reduce number of dirty pages. r=glandium
2014-12-23 06:01:00 -05:00
Guilherme Goncalves
5ff0106324
Bug 762448 - Deduct bin_unused from waste in jemalloc3's stats. r=glandium
2014-11-12 13:00:00 -05:00
Ryan VanderMeulen
42a3e6c0ea
Merge m-c to inbound. a=merge
2014-12-23 13:18:02 -05:00
Guilherme Goncalves
c41a18c8d2
Bug 1112566 - Add a isblank definition for MSVC < 2013. r=glandium
2014-12-23 15:27:19 +09:00
Guilherme Goncalves
aa02623d99
Bug 1112566 - Move variable declaration to the top its block for MSVC compatibility. r=jasone,r=glandium
2014-12-23 15:27:18 +09:00
Vladimir Vukicevic
a910628209
Bug 1112566 - Use jemalloc C99 msvc compat headers when building mozjemalloc compat glue and jemalloc3 replace-malloc library. r=glandium
2014-12-23 15:27:18 +09:00
Guilherme Goncalves
22c6a4800b
Bug 899126 - Part 1: Implement bin_unused for jemalloc3. r=glandium
2014-12-19 09:15:00 -05:00
Nicholas Nethercote
53da6fb716
Bug 1112968 - dmd.py: Tweak the --alloc-fns list for better effect on Windows. r=mccr8.
...
--HG--
extra : rebase_source : 3dc8a09f9a22bf234406c0ff89d7b4050c7908e7
2014-12-18 18:59:53 -08:00
Nicholas Nethercote
8030658f62
Bug 1112968 - dmd.py: Tweak the --alloc-fns list for better effect on Mac. r=mccr8.
...
--HG--
extra : rebase_source : 03dbab1eeb4e3f99672a174277ba634a39a98292
2014-12-17 19:10:59 -08:00
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