Commit Graph

50 Commits

Author SHA1 Message Date
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
Jon Coppeard
3ab8746f2f 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
e5f028ebdd Bug 957450 - fix compile error in gonk-kk. r=iacobcatalin 2014-01-10 14:14:53 +08:00
David Major
15316a7107 Bug 931196 - Remove MOZ_TEMP_INVESTIGATION poisoning code. r=glandium 2013-10-31 11:52:08 -04:00
Nathan Froyd
b1113c8592 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
Douglas Crosher
7c0bdcc600 Bug 908971 - jemalloc: fix uninitialized 'mapped' variable. r=jlebar 2013-08-24 13:35:08 +10:00
Justin Lebar
1726d50ad3 Bug 903420 - Two fixes to jemalloc's memory reporters. r=glandium
1) We were counting "dirty" pages in "waste", when we shouldn't have
   been.  This was causing the assertion at the end of jemalloc_stats()
   which checks that mapped memory is greater than committed memory to
   fail.

2) jemalloc_stats used stats_chunks.curchunks to measure the number of
   mapped pages.  This was problematic for two reasons.

   a) stats_chunks.curchunks was not locked when it was modified in
      chunk_{de}alloc(), so its value could be garbage.

   b) Even if it had been locked properly, it was possible for an
      allocation to occur during a call to jemalloc_stats which would
      cause the measured amount of allocated memory to exceed the
      measured amount of mapped memory, tripping the assertion we
      tripped in (1).

   We fixed these issues by deleting stats_chunks entirely, and by
   introducing huge_mapped, which measures the amount of memory mapped
   by huge allocations (and is properly protected by huge_mtx).

   We now measure the amount of mapped memory by adding huge_mapped and
   each arena's mapped memory, and we do this in such a way that even if
   an allocation occurs during our call to jemalloc_stats, we'll still
   get a consistent result (where mapped >= committed).
2013-08-15 11:15:04 -07:00
Mike Hommey
b160bf4524 Bug 901211 - Don't use static page size on ia64, sparc and mips. r=jlebar 2013-08-05 09:10:35 +09:00
Justin Lebar
129a323342 Bug 898558 - Rework jemalloc_stats so it exposes how much memory is used for bookkeeping. r=glandium
This patch also gets rid of the redundant "committed" entry, so now
there's no confusion as to which entries overlap.
2013-07-29 09:10:53 -07:00
Steve Singer
5d9d7a7afd Bug 851859 - Set jemalloc's page size based on the architecture instead of assuming it's always 4kb. r=jlebar 2013-03-27 11:32:34 -04:00
Mike Hommey
0c085761d5 Bug 804303 part 2 - Add ability to dynamically replace or supplement jemalloc implementation. r=jlebar,r=khuey 2012-12-07 09:32:24 +01:00
Mike Hommey
2b38a675fe Bug 804303 part 1 - Cleanup how the mozjemalloc/jemalloc3 glue is set up, attempting to make it clearer. r=jlebar,r=khuey 2012-12-07 09:32:24 +01:00
Gabriele Svelto
05c7900df0 Bug 811740 - Reduce the amount of unused dirty pages kept by jemalloc to 1MiB in B2G. r=jlebar, r=glandium 2012-11-28 17:03:35 +01:00
Gabriele Svelto
43c132fe16 Bug 805855 - Add an extra function to jemalloc to free dirty unused pages. r=glandium 2012-11-08 20:06:50 +01:00
Justin Lebar
c77120d27e Bug 787675 - When jemalloc hits a fatal assertion, crash within a new stack frame, in the hopes of making the crashstats more understandable. r=glandium 2012-09-03 22:01:24 -04:00
Michael Wu
be4dcb9bd4 Bug 780287 - Don't wrap jemalloc on gonk, r=glandium 2012-08-06 16:22:26 -04:00
Jan Beich
a72019aed3 Bug 778058 - Don't #define _malloc_message to malloc_message in jemalloc: FreeBSD's jemalloc-3.0.0 exports malloc_message (with different arguments) in stdlib.h. r=jlebar 2012-07-29 10:54:44 -04:00
Justin Lebar
ac9fab4393 Bug 772338 - Abort when VirtualAlloc fails in jemalloc's pages_commit routine. r=glandium 2012-07-10 09:25:25 -04:00
Justin Lebar
1984e7b305 Bug 766250 - Part 2: Split MOZ_TEMP_INVESTIGATION into MOZ_TEMP_INVESTIGATION and MOZ_JEMALLOC_HARD_ASSERTS. r=glandium
The former is temporary, the latter is not.
2012-06-20 01:22:40 -04:00
Justin Lebar
8619831cb1 Bug 766250 - Part 1: Enable more release-time jemalloc assertions. r=glandium 2012-06-20 01:22:40 -04:00
Justin Lebar
5e5816c20a Bug 764192 - Followup, fix red. r=me 2012-06-13 09:21:06 -04:00
Justin Lebar
98a65fb213 Bug 764192 - Enable some jemalloc assertions at release time in the hopes of catching heap corruption. r=glandium
This is disabled for the release and esr channels.
2012-06-13 09:10:12 -04:00
Mike Hommey
9cb1b0492f Bug 580408 - Move Mozilla fork of jemalloc to memory/mozjemalloc. r=khuey 2012-06-07 10:41:58 +02:00