Emanuel Hoogeveen
518860841b
Bug 1338574 - Part 8: Use MOZ_ASSERT and MOZ_CRASH_UNSAFE_OOL in mozjemalloc. r=glandium
2017-02-21 18:02:07 +01:00
Emanuel Hoogeveen
8738d9d6d4
Bug 1339441 - Take the arena lock earlier in arena_dalloc(). r=glandium
2017-02-15 09:48:00 -05:00
Mike Hommey
51eeddedc2
Bug 1332508 - Reinitialize allocator mutexes in fork() child processes. r=njn
...
Adapted from
4e2e3dd9cf
and
d9f7b2a430
As per the latter commit, it would seem unlocking, in fork() child
processes, mutexes that were locked in the parent process is not really
well supported on OSX 10.12. The addition of the zone_reinit_lock
function in 10.12 supports this idea.
2017-01-20 10:06:41 +09:00
Mike Hommey
7a3f93d348
Bug 1286613 - Use the same zone allocator implementation as replace-malloc for mozjemalloc. r=njn
...
We have been using a different zone allocator between mozjemalloc and
replace-malloc for a long time. Jemalloc 4 uses the same as
replace-malloc, albeit as part of the jemalloc upstream code base.
We've been bitten many times in the past with Apple changes breaking the
zone allocator, and each time we've had to make changes to the three
instances, although two of them are similar and the changes there are
straightforward.
It also turns out that the way the mozjemalloc zone allocator is set up,
when a new version of OSX appears with a new version of the system zone
allocator, Firefox ends up using the system allocator, because the zone
allocator version is not supported.
So, we use the same zone allocator for both replace-malloc and
mozjemalloc, making everything on par with jemalloc 4.
2017-01-18 11:45:45 +09:00
Mike Hommey
a1e25cd0ab
Bug 1286613 - Properly call mozjemalloc pre/post fork hooks on OSX when replace-malloc is enabled. r=njn
...
Somehow, we never called those hooks when replace-malloc is enabled. I'd
expect this to cause random deadlocks when forking, and I'm surprised
this hasn't surfaced. Maybe it actually causes some intermittent oranges
on automation, who knows.
This also brings consistency with what is done for jemalloc 4, and with
the mozjemalloc implementation, too, that we're going to replace with
this one in a subsequent changeset.
2017-01-19 09:37:22 +09:00
John Paul Adrian Glaubitz
0928c08f07
Bug 1275204 - mozjemalloc: Use the JS arm64 allocator on Linux/sparc64. r=glandium
2017-01-11 16:09:39 +09:00
John Paul Adrian Glaubitz
7e87363436
Bug 1275204 - mozjemalloc: Use better pre-processor defines for sparc64. r=glandium
2017-01-11 16:05:53 +09:00
Mike Hommey
cef534de1e
Bug 1311039 - Properly detect the default malloc zone on OSX 10.12. r=njn
2016-11-03 10:02:06 +09:00
Cameron McCormack
aa137c3dd8
Bug 1291356 - Enable multiple jemalloc arenas for MOZ_STYLO builds. r=me
2016-08-26 20:21:48 +09:00
Emanuel Hoogeveen
363f9560d9
Bug 1294732 - Back out all of bug 1271165 as it has served its purpose. r=glandium
2016-08-23 08:45:00 -04:00
Emanuel Hoogeveen
fb486d1019
Bug 1271165 - Part 6: Change the new functions to MFBT_API to export them on OSX. r=jandem
2016-08-16 07:12:00 -04:00
Emanuel Hoogeveen
c25a02ae46
Bug 1271165 - Part 4: Enable the new functionality in mozjemalloc. r=ehoogeveen
2016-08-12 07:38:00 -04:00
Emanuel Hoogeveen
dfc445c086
Bug 1271165 - Part 1: Add protected allocation functions and supporting infrastructure to mozjemalloc. r=ehoogeveen
2016-08-12 07:36:00 -04:00
Emanuel Hoogeveen
68a1962fdb
Bug 1271165 - Part 0: Strip trailing blanks from mozjemalloc. r=ehoogeveen
2016-08-12 07:36:00 -04:00
Makoto Kato
ea9e7f9fda
Bug 1091515 - Don't set 64KB page size on aarch64. r=glandium
...
Linux/aarch64 supports vairous page size configuration.
(From https://www.kernel.org/doc/Documentation/arm64/memory.txt )
- 4KB + 3 levels
- 4KB + 4 levels
- 64KB + 2 leves
So we shouldn't set fixed 64KB page size on aarch64.
MozReview-Commit-ID: 8IdwBMUW4me
2016-04-05 18:54:42 +09:00
Eric Rahm
5b381a039d
Bug 1181142 - Part 1: Make the minimum allocation size word sized on all platforms. r=glandium
...
Bug 691003 made the minimum allocation size word sized for Linux and OS X, we
now need to do a similar change on Windows as well. For Windows the requirement
is 8-bytes on 32-bit and 16-bytes on 64-bit.
2015-07-07 17:36:31 -07:00
Sebastian Hengst
e77c11387d
Backed out changeset 4593c32d5b81 (bug 1181142) for making XPCshell test_dmd.js fail on Windows 8 x64 debug. r=backout
2016-03-25 21:53:30 +01:00
Eric Rahm
14917d55a4
Bug 1181142 - Part 1: Make the minimum allocation size word sized on all platforms. r=glandium
...
Bug 691003 made the minimum allocation size word sized for Linux and OS X, we
now need to do a similar change on Windows as well. For Windows the requirement
is 8-bytes on 32-bit and 16-bytes on 64-bit.
2015-07-07 17:36:31 -07:00
Nicholas Nethercote
8029db49e2
Bug 1258257 - Reduce mozjemalloc page cache size from 4 MiB to 1 MiB. r=glandium.
...
This reduces memory usage by up to 3 MiB per process.
MozReview-Commit-ID: Gfs9PIJM4br
2016-03-24 16:38:45 +11:00
Nicholas Nethercote
5c344ce47d
Bug 1232219 (part 3) - Fix remaining -Wunused warnings. r=glandium.
2015-12-16 22:57:51 -08:00
Chris Peterson
f3188bff13
Bug 1226907 - Part 2: Fix warnings in mozjemalloc and remove ALLOW_COMPILER_WARNINGS. r=glandium
2015-11-15 13:21:56 -08:00
Chris Peterson
afcf863026
Bug 1226907 - Part 1: Check _write and strerror_r return values in mozjemalloc. r=njn
2015-11-27 13:24:56 -08:00
Nicholas Nethercote
0c0cfb9099
Bug 1044077 - Tweak some jemalloc constants. r=glandium.
2015-07-14 20:35:37 -07:00
Mike Hommey
6b3503cbd1
Bug 1137580 - Do not use system realloc in mozjemalloc-exposed _recalloc. r=njn
2015-08-07 16:27:28 +09:00
Mike Hommey
68cac8e71f
Bug 1172632 - Don't guess malloc_usable_size type of argument based on ANDROID_VERSION in mozjemalloc, but use the result of the configure test instead. r=njn
2015-06-10 10:49:21 +09:00
Leila Hadji
09307be8af
Bug 498166 - malloc_init deadlock due to pthread_atfork. r=glandium
2015-05-22 06:01:00 -04:00
Paul Rouget
816ab48d3e
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
Emanuel Hoogeveen
36b69259fe
Bug 1100485 - Lock chunks during double purging to avoid racing with allocation. r=glandium
2014-11-19 09:34:00 +01:00
Emanuel Hoogeveen
bc65c94130
Bug 1073662 - Part 7: Enable limited chunk recycling on all platforms. r=glandium
2014-11-13 22:56:00 +01:00
Emanuel Hoogeveen
4f2ab26056
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
e10498e87c
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
6aba9c84d6
Bug 1073662 - Part 4: Import chunk recycling code from jemalloc3. r=glandium
2014-11-01 12:00:00 +01:00
Emanuel Hoogeveen
1b8f5f7a27
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
3818b2f2db
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
dd6ffeef35
Bug 1073662 - Part 1: Remove support for the unused MALLOC_PAGEFILE. r=glandium
2014-09-26 13:27:00 +02:00
Nicholas Nethercote
f5fb800410
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
fe2909fe89
Bug 1057754 - Remove the bogus Valgrind annotations from mozjemalloc. r=glandium.
2014-08-25 16:59:43 -07:00
Makoto Kato
fdc5bb3beb
Bug 1030899 - Remove issetugid usage on jemalloc. r=glandium
2014-07-08 17:52:09 +09:00
Ehsan Akhgari
c2b244ea06
Bug 1028684 - Fix the signature of _msize in jemalloc.c; r=glandium
...
This function accepts a void* argument, not a const void*.
2014-06-24 07:20:22 -07:00
Jed Davis
3f4e2f50f4
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
a0ac65b3dd
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
Eric Rahm
3652c96cf7
Bug 1006769 - Part 2: Backport jemalloc3 run_size_calc logic. r=glandium
2014-05-21 17:34:07 -07:00
Eric Rahm
87ac050c65
Bug 1006769 - Part 1: Improve heap-overhead memory reporting. r=njn
2014-05-21 17:34:06 -07:00
Nicholas Nethercote
db8f5b5dac
Bug 1013014 (attempt 2) - Disable Trace Malloc on TBPL debug builds. r=glandium.
2014-05-19 18:16:42 -07:00
Mike Hommey
c7adcb562a
Bug 984447 - Properly handle forks in mozjemalloc after bug 694896. r=smichaud
2014-03-29 16:53:49 +09:00
Thomas Zimmermann
8244b8520b
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
David Major
a096d834e3
Bug 860254 - Part 4: Enable poisoning. r=glandium
2014-02-13 20:11:15 -05:00
David Major
d3466fe0ae
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
389372afc7
Bug 860254 - Part 1: #define MALLOC_FILL but keep the options const-false. r=glandium
2014-02-13 20:10:35 -05:00
Marcin Juszkiewicz
2f2928255f
Bug 963028 - AArch64 support for jemalloc. r=froydnj
2014-01-23 16:34:31 -05:00