Mike Hommey
924c9eb636
Bug 1134923 - Remove NS_Alloc/NS_Realloc/NS_Free. r=nfroyd
...
They are kept around for the sake of the standalone glue, which is used
for e.g. webapprt, which doesn't have direct access to jemalloc, and thus
still needs a wrapper to go through the xpcom function list and get to
jemalloc from there.
2015-05-01 09:40:30 +09:00
ziyunfei
e1db0f779e
Bug 1102219 - Part 4: Replace `String.prototype.contains` with `String.prototype.includes` in chrome code. r=till
2015-04-30 00:32:05 +09:00
Ehsan Akhgari
9009ff92f8
Bug 1147243 - Build memory/jemalloc in unified mode; r=glandium
2015-04-29 09:47:36 -04:00
Paul Rouget
d60a1bd75e
Bug 1156628 - Don't limit the number of unused dirty pages kept by jemalloc on B2G desktop. r=gsvelto, r=glandium
2015-04-24 03:58:00 -04:00
Jed Davis
5841b01411
Bug 1102388 - Fix DMD static constructor ordering dependency. r=mccr8
...
Sometimes, at least on Linux, DMDFuncs::sSingleton's static initializer
(in libxul) was being called before sDMDBridge's (in libdmd).
Thus sDMDBridge wasn't constructed yet in the path where its
address is taken, passed down through {replace_,}get_bridge to
ReplaceMallocBridge::Get, and its mVersion field is read.
This patch uses dynamic allocation, following what's done for other
globals in the same situation in this file.
Also, naming convention fix: leading "s" is for C++ class statics;
C-style static globals should be "g".
--HG--
extra : rebase_source : 4a6447760555aa11109749c612094ba1694b41f6
2015-04-20 23:05:00 +02:00
Ehsan Akhgari
399276d5fc
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 21:40:49 -04:00
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