Commit Graph

19 Commits

Author SHA1 Message Date
Mike Hommey
ea61f7e315 Bug 1142412 - Remove last jemalloc patch by using a workaround when running its configure. r=mshal 2015-08-18 08:42:24 +09:00
Mike Hommey
a975283a00 Bug 1142412 - Update memory/jemalloc to 4.0.0 release. r=njn 2015-08-18 08:42:23 +09:00
Mike Hommey
98b19b6e03 Bug 1139357 - Make jemalloc3's --without-export actually work. r=njn 2015-03-10 10:01:53 +09:00
Mike Hommey
2ca73b0ab7 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
Mike Hommey
84e6248ba8 Bug 762449 - Make jemalloc's opt.lg_dirty_mult work as documented. r=njn 2015-03-02 07:35:28 +09:00
Mike Hommey
6e294f26b9 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
Guilherme Goncalves
acf0451437 Bug 899126 - Part 1.5 - Implement bookkeeping for jemalloc3. r=glandium 2014-12-29 13:37:24 -08:00
Guilherme Goncalves
0d08c44fdb Bug 1112566 - Add a isblank definition for MSVC < 2013. r=glandium 2014-12-23 15:27:19 +09:00
Guilherme Goncalves
b334b3e89f 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
Guilherme Goncalves
b9796fea26 Bug 1094275 - Update the in-tree copy of jemalloc3 to commit b4acf73. r=glandium 2014-12-17 09:14:48 +09:00
Mike Hommey
52e9a4f2b0 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
Mike Hommey
b0c38b61ca Bug 1024097 - Allow jemalloc to build with clang-cl. r=njn 2014-06-13 08:44:19 +09:00
Mike Hommey
7545e27344 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
Chris Peterson
97c30930b9 Bug 1019381 - Cherrypick clang and gcc warning fixes from upstream jemalloc. r=glandium 2014-05-28 19:02:11 -07:00
Mike Hommey
12fb164712 Bug 965870 - Check for __builtin_ffsl before ffsl. r=mshal
Cherry-picked from 1a3eafd1b0
2014-06-06 08:17:02 +09:00
Mike Hommey
dcd41c630e 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
a8acfe337b Bug 945582 - Don't use jemalloc3 C99 headers with MSVC versions that have (some) C99 support. r=mshal 2014-05-31 09:54:23 +09:00
Mike Hommey
5eb1f3491d Bug 1014308 - Update jemalloc3 to upstream 3.6.0. r=njn,r=mshal 2014-05-23 07:26:40 +09:00
Mike Hommey
1bb170aea3 Bug 580408 - Import jemalloc 3.0.0. r=khuey,r=gerv 2012-06-07 10:41:58 +02:00