Commit Graph

74 Commits

Author SHA1 Message Date
Mike Hommey
e2323ac4eb 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
Emanuel Hoogeveen
ed8e559656 Bug 1100485 - Lock chunks during double purging to avoid racing with allocation. r=glandium 2014-11-19 09:34:00 +01:00
Mike Hommey
20af13d357 Bug 818922 - Add bidirectional method calls with replace-malloc library. r=njn 2014-11-18 19:21:06 +09:00
Emanuel Hoogeveen
5fd0d631a7 Bug 1073662 - Part 7: Enable limited chunk recycling on all platforms. r=glandium 2014-11-13 22:56:00 +01:00
Emanuel Hoogeveen
ed41e3bac7 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
a69449cf56 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
6672a937fa Bug 1073662 - Part 4: Import chunk recycling code from jemalloc3. r=glandium 2014-11-01 12:00:00 +01:00
Emanuel Hoogeveen
eb08d111e3 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
fd85622415 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
995dd724ca Bug 1073662 - Part 1: Remove support for the unused MALLOC_PAGEFILE. r=glandium 2014-09-26 13:27:00 +02:00
Mike Hommey
8fd95ad480 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
6271884e8a 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
7cfc0607fe Bug 1057754 - Remove the bogus Valgrind annotations from mozjemalloc. r=glandium.
--HG--
extra : rebase_source : c6b32f064181d28bf65d291189d87e516f5e0076
2014-08-25 16:59:43 -07:00
Mike Hommey
5659a611dd Bug 1036894 part 8 - Move most in-tree library linkage information to moz.build, as USE_LIBS. r=gps 2014-07-23 13:30:52 +09:00
Makoto Kato
627c71b9d3 Bug 1030899 - Remove issetugid usage on jemalloc. r=glandium 2014-07-08 17:52:09 +09:00
Patrick Wang (Chih-Kai Wang)
b2f5d9c01e Bug 1026864: prevent malloc from calling wrapped pthread_mutex_lock and get rid of LibcAllocator. r=cyu,r=glandium,r=khuey 2014-06-25 10:44:58 +08:00
Ehsan Akhgari
cc58665009 Bug 1028684 - Fix the signature of _msize in jemalloc.c; r=glandium
This function accepts a void* argument, not a const void*.

--HG--
extra : rebase_source : 9c5cd5066b3730871e06465a84f9a27a6adc6204
2014-06-24 07:20:22 -07:00
Jed Davis
eabd9062d2 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
ccdd4bf6dd 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
56e0190c90 Bug 1006769 - Part 2: Backport jemalloc3 run_size_calc logic. r=glandium 2014-05-21 17:34:07 -07:00
Eric Rahm
cc0ba9c941 Bug 1006769 - Part 1: Improve heap-overhead memory reporting. r=njn 2014-05-21 17:34:06 -07:00
Nicholas Nethercote
2665a9896d Bug 1013014 (attempt 2) - Disable Trace Malloc on TBPL debug builds. r=glandium.
--HG--
extra : rebase_source : 08fa200fd205225f85b9845bf8c18ac38fe26e0d
2014-05-19 18:16:42 -07:00
Mike Hommey
136f02ac45 Bug 984447 - Properly handle forks in mozjemalloc after bug 694896. r=smichaud 2014-03-29 16:53:49 +09:00
Thomas Zimmermann
1a335a7c9c 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
Ms2ger
aa9d7b52b4 Bug 968856 - Move unconditional LOCAL_INCLUDES into moz.build; r=mshal 2014-02-15 21:24:59 +01:00
David Major
0cbf1c6af0 Bug 860254 - Part 4: Enable poisoning. r=glandium 2014-02-13 20:11:15 -05:00
David Major
e871b5f5e6 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
85c4adcd8b 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
ade3a20e0c Bug 963028 - AArch64 support for jemalloc. r=froydnj 2014-01-23 16:34:31 -05:00
Jon Coppeard
e177b13fa0 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
2ef0f4279e Bug 957450 - fix compile error in gonk-kk. r=iacobcatalin 2014-01-10 14:14:53 +08:00
Mike Hommey
255ad3e210 Bug 945042 - Move NO_PROFILE_GUIDED_OPTIMIZE to moz.build. r=gps,r=njn 2013-12-09 13:39:26 +09:00
Mike Hommey
fdd3247a81 Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-27 22:55:07 +09:00
Mike Hommey
2f727b6d62 Backout changeset 3fd4b546eed4 (bug 874266) and changeset a35d2e3a872f (bug 942043) for ASAN build bustage and Windows test bustage
--HG--
extra : amend_source : f20d09aeff1c8b5cbd0f1d24c7ce04e86f3aed1d
2013-11-28 14:24:05 +09:00
Mike Hommey
b038245b8d Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-28 13:08:16 +09:00
Mike Hommey
f0d1cd1e10 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
David Major
113eaa4daf Bug 931196 - Remove MOZ_TEMP_INVESTIGATION poisoning code. r=glandium 2013-10-31 11:52:08 -04:00
Cykesiopka
be7f216715 Bug 914270 - Part 2: Manual moves. r=joey 2013-10-24 18:52:00 +01:00
Mike Hommey
f1c0c07862 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Nathan Froyd
741ae62ad8 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
Mike Hommey
05b3f24e0e Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Douglas Crosher
023f3a586e Bug 908971 - jemalloc: fix uninitialized 'mapped' variable. r=jlebar 2013-08-24 13:35:08 +10:00
Justin Lebar
e8eb0d970a 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
29dbd867f2 Bug 901211 - Don't use static page size on ia64, sparc and mips. r=jlebar 2013-08-05 09:10:35 +09:00
Ms2ger
fe9c33f5f4 Bug 897921 - Remove some dead assignments in makefiles; r=mshal 2013-08-02 09:03:55 +02:00
Justin Lebar
820d692af0 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.

--HG--
extra : rebase_source : 429f3d44011f02dda43aa10b077c917c4d02fe50
2013-07-29 09:10:53 -07:00
Brian O'Keefe
20b45036df Bug 875934 - Move LIBRARY_NAME to moz.build (batch #2); r=mshal
--HG--
extra : rebase_source : 555b28e5c3412ffc210c60b6fe2fee6f053fd587
2013-06-18 08:13:42 -04:00
Joey Armstrong
32009a30fd bug 870406: move CSRCS to mozbuild (config batch #2) r=mshal 2013-06-04 11:08:44 -04:00
Mike Shal
24b4056720 Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey 2013-04-16 15:24:43 -04:00
Kyle Machulis
f5e3aadf0b Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00