Commit Graph

155 Commits

Author SHA1 Message Date
Justin Lebar
1237bf2fd2 Bug 693404 - Part 1: On MacOS, add public jemalloc function to purge MADV_FREE'd pages, making our RSS reflect reality. r=khuey
--HG--
extra : rebase_source : fb043fcb06963ed2d5f94e8f4659da94f43ed014
2011-10-24 13:23:47 -04:00
Justin Lebar
254211dda2 Bug 681183 - Make jemalloc_stats.committed meaningful on *nix. r=khuey 2011-10-10 13:54:42 -04:00
Justin Lebar
213265b966 Bug 683597 - Change jemalloc's accounting for huge allocations to round up to the next page boundary, not to the next MB. r=khuey
--HG--
extra : rebase_source : 4449e8b33af835be729c157241bfeed0f6725c21
2011-10-07 14:39:53 -04:00
Justin Lebar
883266b5b9 Bug 691003 - jemalloc's minimum alignment must be word sized on *nix. r=khuey
--HG--
extra : rebase_source : 24c31b1afcc10af36f6d87ec6ec3e462b18cceff
2011-10-05 14:03:39 -04:00
Paul Biggar
0eafc06bda Bug 414946: Re-enable jemalloc on OSX 10.6 only. r=khuey 2011-07-25 17:20:18 -07:00
Makoto Kato
760958734d Bug 681202 - Add Android x86 target. r=glandium 2011-09-29 13:39:03 +09:00
Mike Hommey
d0a3d1bc2f Backout the backout of e5815c156b6c (bug 683096), 9ca928d8095c (merge), a286edb8ca4b (bug 683875), 61dc35b8f63f (bug 683171), b0741ae44def (bug 683875), 8e01bc314326 + e2697c06468f (bug 677501), 805e28e85577 (bug 680440) 2011-09-03 08:19:06 +02:00
Ed Morley
ed260633c7 Backout e5815c156b6c (bug 683096), 9ca928d8095c (merge), a286edb8ca4b (bug 683875), 61dc35b8f63f (bug 683171), b0741ae44def (bug 683875), 8e01bc314326 + e2697c06468f (bug 677501), 805e28e85577 (bug 680440) for Win opt orange and purple galore, on a CLOSED TREE 2011-09-03 04:35:21 +01:00
Mike Hommey
cfd3ac70a2 Bug 677501 - Build a mozutils library containing jemalloc and other things. r=khuey
--HG--
rename : memory/jemalloc/Makefile.in => memory/mozutils/Makefile.in
rename : memory/jemalloc/fixcrt.py => memory/mozutils/fixcrt.py
rename : memory/jemalloc/jemalloc.def => memory/mozutils/mozutils.def.in
2011-09-01 14:12:10 +02:00
Mike Hommey
1fbab12774 Bug 680440 - Clean up jemalloc linkage. r=khuey 2011-09-01 14:11:56 +02:00
Kyle Huey
7b7b45a351 Merge m-c to b-s. 2011-08-31 07:52:43 -04:00
Jim Chen
1214bdb110 Bug 680190 - Notify jemalloc when forking on Android; r=cjones 2011-08-30 17:11:36 -07:00
Kyle Huey
fc02605541 Bug 682313: Fix jemalloc to export _strdup and _wcsdup so that we don't have an allocator mismatch. r=jimm 2011-08-30 17:07:51 -04:00
Jan Horak
bcf70bd90e Bug 589735 - JS engine is completely broken on ia64 - jemalloc part; r=pbiggar 2011-08-29 17:26:22 +01:00
Mike Hommey
35dde42be0 Bug 680373 - Link jemalloc into mozutils instead of mozalloc on Android. r=blassey,r=pbiggar 2011-08-24 12:55:13 +02:00
Mike Hommey
2d38faddec Bug 678195 - Remove old style jemalloc. r=khuey 2011-08-23 15:43:17 +02:00
Mike Hommey
d1ce73f80c Bug 654049 - Use global optimization flags for jemalloc, cairo, pixman and sqlite. r=ted 2011-07-21 08:32:23 +02:00
Neil Rashbrook
b6d33a6e37 Bug 667962 Try to make jemalloc build with gmake as well as pymake r=khuey 2011-07-28 15:28:13 +01:00
Ms2ger
d625a2c5c2 Backout bug 673197, bug 667962 (changesets 83ef35b794ce and 370bcc140023) for winopt bustage 2011-07-27 23:25:32 +02:00
Neil Rashbrook
6419f03642 Bug 667962 Try to make jemalloc build with gmake as well as pymake r=khuey 2011-07-27 20:24:11 +01:00
Paul Biggar ext:(%2C%20Jason%20Evans%20%3Cjasone%40canonware.com%3E%20and%20Dale%20Kim%20%3Cdalekim1%40illinois.edu%3E)
c0072a7363 Bug 414946 (part 1): Fix jemalloc on Mac, but leave disabled (r=pavlov)
Overwrite the OSX default zone allocator, taking into account the malloc_zone_t
version (supported versions are 3, 6, and 8) for Leopard, Snow Leopard and
Lion. jemalloc can be dynamically disabled for unknown malloc_zone_t versions,
for OSX 10.8 and beyond.

The changeset does not enable jemalloc, to allow for easy disabling if there's
a problem. It will be enabled in the next changeset.

This should be a 15-20% improvement in memory usage.
2011-05-21 20:27:00 -07:00
Makoto Kato
3c0b1597c6 Bug 668151 - Bug 515492 (VS2010 jemalloc support) doesn't work on Win64. r=khuey 2011-07-01 10:40:30 +09:00
Kyle Huey
8bedd0a52b Bug 515492: Android build bustage fix. 2011-06-27 19:20:03 -07:00
Kyle Huey
fe3a563ed6 Bug 515492: Android build bustage fix. 2011-06-27 17:30:53 -07:00
Kyle Huey
7b00e784db Bug 515492: Android build bustage fix. 2011-06-27 16:59:20 -07:00
Kyle Huey
bc67963bab Bug 515492: Android build bustage fix. 2011-06-27 16:28:36 -07:00
Kyle Huey
01e3c2c10f Followup fixes for Bug 515492. 2011-06-27 16:11:45 -07:00
Kyle Huey
6306507768 Bug 515492: Make jemalloc work on VS 2010. r=ted,pbiggar 2011-06-27 12:44:51 -07:00
Paul Biggar
9bacd64f81 Bug 659632: Refactor memalign visiblity to use MOZ_MEMORY_ELF (r=respindola) 2011-05-26 06:58:10 -07:00
Ed Morley
a5f451cd13 Bug 655480 - Remove WinCE code from memory/* ; r=pbiggar 2011-05-08 10:29:59 +02:00
Rafael Ávila de Espíndola
5b1c23bb81 Bug 635790 - Don't depend on gnu89 inline. r=pbiggar
--HG--
extra : rebase_source : e4b59ec7be7ca38b1215d4a9fb6079788de14481
2011-04-27 10:05:07 +02:00
timeless@mozdev.org
c43f6fdfb9 Bug 618790 handling of chunk in arena_run_alloc while loop is odd
r=jasone
2011-03-28 17:26:33 -04:00
Makoto Kato
cf175d594d Bug 625753 - 64-Bit Firefox 4.0b10pre Crash Reports [@ malloc_rtree_set ]. r=ted a=bsmedberg 2011-02-09 15:50:13 +09:00
Makoto Kato
4d7a416c9b Bug 625315 - Invalid ssize_t define on Windows x64. r=jasone a=bsmedberg 2011-02-03 14:36:15 +09:00
Vladimir Vukicevic
38040c14ca Bug 616061 - Disable TLS in jemalloc on Android, r=mwu a=blassey 2011-01-25 15:22:45 -05:00
Kazuhi Ohta
932bad8f53 Bug 437451. keep arenas_lock during fork to avoid deadlock, r=karlt,a=bsmedberg 2011-01-17 10:49:32 +13:00
Jory A. Pratt
b8260165be Bug 593911 - Check for dlopen in the libc too. r=khuey a=bsmedberg 2010-11-05 18:26:51 +01:00
Mike Hommey
b8e14dc629 Bug 435683 - Use syscall() for mmap and munmap and disable ncpus in jemalloc to work around deadlocks with LD_PRELOADed libraries. r=jasone, a2.0=bsmedberg
--HG--
extra : rebase_source : 56b4f87c151bbdb6cb9a4b22373af3ff33339b79
2010-08-18 19:46:59 +02:00
Igor Bukanov
362cf13567 bug 571332 - jemalloc - avoiding the null check in the free method for non-huge allocations. r=jasone 2010-06-11 16:22:14 +02:00
Brad Lassey
1fa8baed11 bug 559263 - make jemalloc work with android, follow up patch r=ted
(transplanted from 098cf0d0c599fdcfedbc6ee5aadf01259e9dcd09)

--HG--
extra : transplant_source : %09%8C%F0%D0%C5%99%FD%CF%ED%BCn%E5%AA%DF%01%25%9E%9D%CD%09
2010-06-05 13:15:50 -04:00
Makoto Kato
a6c423573f Bug 521193 - jemalloc support for Windows x64 build (VC 2005 / 2008). r=ted
--HG--
rename : memory/jemalloc/crtvc8sp1.diff => memory/jemalloc/crtvc8sp1-intel.diff
rename : memory/jemalloc/crtvc9sp1.diff => memory/jemalloc/crtvc9sp1-intel.diff
2010-06-03 19:12:26 +09:00
Chris Jones
2a2ad8a179 Bug 557935: Show jemalloc stats in about:memory on linux. r=vlad 2010-05-26 14:40:52 -05:00
Brad Lassey
a15e734cc6 bug 559263 - implement jemalloc for android r=vlad 2010-05-25 11:28:14 -04:00
Brad Lassey
1d8ccacd0a pushing white space change to trigger a new build 2010-05-24 17:42:39 -04:00
Benoit Jacob
94979ffad1 b=566017; allow jemalloc posix_memalign to handle 0-sized allocs; r=jevans 2010-05-19 13:46:08 -07:00
Chris Jones
7e1c6d756d Bug 550692: Wrap posix_memalign, memalign, and valloc if jemalloc provides them and the OS doesn't. r=bsmedberg 2010-04-21 23:41:40 -05:00
Takanori MATSUURA
093c23c49b Bug 526389 - Skip redefinition of memory allocation functions for MacOS X and Linux. r=jasone 2010-03-07 10:53:46 +01:00
Jason Evans
e4b0cbf81c Bug 515556 - Fix jemalloc committed memory statistics. r=vlad 2009-11-10 16:01:08 -08:00
David Mandelin
9c7ba785af Bug 526152: make jemalloc's memalign support alignments less than pointer size, r=pavlov 2009-11-03 18:19:58 -08:00
David Mandelin
ff172068b2 Bug 515211: remove memory reserve feature from jemalloc, r=jasone 2009-11-02 13:02:37 -08:00
David Mandelin
34cbc0857f Backed out changeset 109b74e8e902 due to tinderbox bustage (was bug 515211) 2009-10-30 11:15:03 -07:00
David Mandelin
a5e5a4367e Bug 515211: remove memory reserve feature from jemalloc, r=jasone 2009-10-30 11:02:38 -07:00
Brian Crowder
afc8545f90 Backed out changeset 1a7c75165427 (landed way more than whitespace changes, woops) 2009-10-20 12:33:42 -07:00
Brian Crowder
3d8d6bc5e6 fixing whitespace here, r=blassey 2009-10-20 12:26:03 -07:00
Takeshi Ichimaru
0373c9f22e Bug 521182 remove -arch:SSE2 from crtvc9sp1.diff r=ted 2009-10-09 00:07:15 +09:00
Vladimir Vukicevic
fb7d585a6b b=515354; implement "about:memory", jemalloc_stats export; r=ted 2009-10-03 00:21:30 -07:00
Vladimir Vukicevic
1a2a2812ac b=416117; allow building jemalloc on windows with vc9sp1; r=ted
--HG--
rename : memory/jemalloc/crtsp1.diff => memory/jemalloc/crtvc8sp1.diff
2009-09-22 13:00:18 -07:00
Ted Mielczarek
6999827df6 bug 508861 - Build/ship the C++ runtime with MSVC/jemalloc. r=bsmedberg
--HG--
extra : rebase_source : 3ce54c05f07236d49469b66c695bfac3ccef06af
2009-08-17 13:13:37 -04:00
Karl Tomlinson
416e263b05 b=493541 hook jemalloc into glibc's malloc r=bsmedberg 2009-07-30 15:15:50 +12:00
Ted Mielczarek
c49b565035 bug 468447 - Nonfatal "NMAKE : fatal error U1052: file 'makefile.sub' not found" in every single log masks real errors in failure logs. r=bsmedberg
--HG--
extra : rebase_source : a4a468e05352c69e1e9cf1e1d2148f9f0ca13b63
2009-05-11 15:54:39 -04:00
Vladimir Vukicevic
9be2078d7e b=488608; enable jemalloc on CE6; r+sr=stuart 2009-04-24 10:31:18 -07:00
Vladimir Vukicevic
801b1f9b61 Backed out changeset 1eec75c27e2f 2009-04-24 10:43:19 -07:00
Vladimir Vukicevic
aa56e5c711 b=488608; enable jemalloc on CE6; r+sr=stuart 2009-04-24 10:31:18 -07:00
Ted Mielczarek
fbff22268d bug 487396 - fix some of the jemalloc windows build madness. r=bsmedberg 2009-04-20 06:56:23 -04:00
Benjamin Smedberg
bdfadb08d6 Bug 485410 - Quote jemalloc patchery a little more carefully, and make it fail if it doesn't work, r=ted 2009-03-20 10:18:45 -07:00
Brad Lassey
468d40fda1 bug 478044 - Addresses problems with reallocating unaligned memory on windows ce r=pavlov, jasone 2009-03-31 12:27:25 -04:00
Brad Lassey
390b22de77 bug 478044 - enable jemalloc for windows ce r=stuart, jasone 2009-03-23 21:19:26 -04:00
Jason Evans
f40f49c8a5 Bug 478576 - infinite loop in jemalloc:chunk_recycle_reserve; r=pavlov
Avoid an infinite loop if the malloc reserve is depleted and there are no
registered event notification handlers.
2009-02-21 03:09:22 +01:00
Ginn Chen
dc9eba2afc Bug 457189 to use MAP_ALIGN to request chunksize-aligned blocks from mmap r=jasone 2009-02-02 18:50:19 +08:00
Daniel Holbert
2a7d88e05a Bug 473236 - Remove executable bit from files that don't need it. (Only changes file mode -- no code changes.) r=bsmedberg 2009-01-21 22:55:08 -08:00
tglek@mozilla.com
faca5f45c9 Bug 465127 - Disable jemalloc page file support (r=bsmedberg, r=jasone) 2008-12-11 15:37:48 -08:00
Taras Glek
9c08fd1a66 Bug 464995 - avoid reads of size 1 in jemalloc; r=benjamin 2008-12-10 15:49:43 +01:00
Taras Glek
667e130a90 Bug 464995 - avoid reads of size 1 in jemalloc. r=jasone,sr=stuart 2008-11-20 10:48:51 -08:00
Jason Evans
b2d34a826a Bug 460933: Call pthread_atfork() to prevent potential deadlock after forking. [r=stuart] 2008-10-30 16:13:43 -05:00
Stuart Parmenter
4061a65fe6 bug 451193. link xulrunner-stub with jemalloc on linux. r=bsmedberg 2008-08-26 15:25:05 -07:00
Jason Evans
9ee1b50d11 Bug 446096: Integrate upstream jemalloc optimizations, r=pavlov
Enhance arena_chunk_map_t to directly support run coalescing, and use
the chunk map instead of red-black trees where possible.  Remove the
red-black trees and node objects that are obsoleted by this change.  The
net result is a ~1-2% memory savings, and a substantial allocation speed
improvement.

Add a radix tree to optimize isalloc_validate().
2008-07-25 14:53:20 -07:00
Jason Evans
0481b0a0ab Bug 446090: Fix assertions in jemalloc, r=pavlov
Create a custom assert() implementation in order to avoid recursive
deadlock.  Enable assertions on Windows (for debug builds).
2008-07-25 14:52:27 -07:00
Robert Kaiser
5ec392ff88 use '-s' options instead of '-' for 'silent' on ed, as we know at least one machine where the former succeeds and the latter fails though both mean the same, r=ted 2008-07-03 18:51:44 +02:00
Jason Evans
3613eedfbc Bug 427109: Add memory reserve and xmalloc() API, r=benjamin
This re-commmit adds locking that was missing in changeset c14ab4f6cec6.
2008-07-01 15:41:14 -07:00
Robert O'Callahan
6c148ce2dd Backing out bug 427109 to try to fix Linux bustage 2008-06-24 19:52:40 +12:00
Jason Evans
d6f55ddb16 Bug 427109: Add memory reserve and xmalloc() API, r=benjamin
Add support for a memory reserve, which is managed via the reserve_*() API.

Add xmalloc() variants of malloc()-like functions.  These functions never
return NULL.
2008-06-23 07:46:37 -07:00
Jason Evans
ed1483c02b Bug 431735: Fix build failures due to compiler flag incompatibilities, r=ted 2008-06-20 12:00:29 -07:00
Jason Evans
d5c3782159 Bug 432475: Remove _malloc_options abuse, r=benjamin
Don't abuse _malloc_options to set platform-specific options, since doing so
makes the MALLOC_OPTIONS environment variable less useful.
2008-06-20 10:34:42 -07:00
Jason Evans
97c3fc2779 Bug 431739: Limit dirty page purging, r=benjamin
Limit dirty page purging so that it terminates once the number of pages is no
more than half the limit.

Add a separate tree to track arena chunks that contain dirty pages.  This
substantially improves worst case allocation performance, since O(lg n) tree
search can be used instead of O(n) tree iteration.
2008-06-20 10:34:42 -07:00
Jason Evans
760615dfb7 Bug 431735: Use rb.h instead of tree.h, r=benjamin
Use rb.h instead of tree.h for red-black trees, in order to reduce memory
overhead.
2008-06-20 10:34:42 -07:00
Jason Evans
c2b08b09ba Bug 422960: Add jemalloc_stats() and jemalloc.h, r=benjamin 2008-06-20 10:34:42 -07:00
Jason Evans
61869dc519 Bug 432894: X related valgrind | jemalloc - startup errors, r=bclary,r=benjamin
Fix bugs in jemalloc's valgrind support.
2008-06-20 10:34:41 -07:00
Jason Evans
380151b1da Bug 431743: Upstream jemalloc fixes, r=benjamin
Incorporate upstream jemalloc fixes from FreeBSD:
  * Detect overflow for huge allocations via sbrk(2).
  * Fix deadlock for base (internal) allocations in OOM case.
  * Fix bitmap vector initialization for small allocation runs.
2008-06-20 10:29:43 -07:00
reed@reedloden.com
30003a2d3f Bug 418016 - "Ts jumped ~1% when enabling jemalloc on Linux (qm-mini-ubuntu01, qm-mini-ubuntu02, qm-mini-ubuntu05)" (Revert jemalloc/libxul integration; makes this bug WONTFIX) [p=jasone@canonware.com (Jason Evans) a1.9=schrep] 2008-05-08 02:20:44 -07:00
ginn.chen@sun.com
04592a02f8 Bug 422055 Remove alloca() call patch by Jason Evans a=mtschrep 2008-05-07 22:36:40 -07:00
pavlov@pavlov.net
018f91f57f bug 427351. sbrk behaves poorly. disable it. patch from Jason Evans <jasone@canonware.com> r=me a=schrep 2008-05-07 14:21:40 -07:00
ginn.chen@sun.com
14e2f8a8e5 Bug 422055 Use jemalloc on OpenSolaris p=Jason Evans, Ginn Chen r=ted.mielczarek a=beltzner 2008-04-30 00:14:44 -07:00
pavlov@pavlov.net
fef71c30ff bug 420678. make malloc_usable_size check for valid allocations. patch from Jason Evans <jasone@canonware.com> r=me a=beltzner 2008-04-12 12:39:11 -07:00
pavlov@pavlov.net
2acf6d695a bug 424040. add valgrind hooks to jemalloc. patch from Jason Evans <jasone@canonware.com> r=me 2008-04-08 00:19:40 -07:00
pavlov@pavlov.net
90c9e2f7b5 bug 423036. decommit for huge allocations. patch from Jason Evans. r/sr=me a=vlad 2008-03-14 20:51:44 -07:00
dholbert@cs.stanford.edu
4808faf75b Bug 418016 Follow-up patch: force static jemalloc lib, to fix bustage for non-libxul linux builds. r+sr=pavlov a=blocking1.9+ 2008-03-14 17:51:38 -07:00
reed@reedloden.com
ca55b77acb Bug 418016 - "Ts jumped ~1% when enabling jemalloc on Linux (qm-mini-ubuntu01, qm-mini-ubuntu02, qm-mini-ubuntu05)" (Integrate jemalloc into libxul on Linux) [p=jasone@canonware.com (Jason Evans) r=bsmedberg sr+a1.9=stuart] 2008-03-14 08:38:37 -07:00
ted.mielczarek@gmail.com
25d68a96ad bug 415918 - fix version info on mozcrt19.dll. r=bsmedberg 2008-03-05 11:09:52 -08:00
pavlov@pavlov.net
13df786a79 bug 419753. export additional jemalloc symbols from the crt. r/a=me 2008-02-26 16:55:45 -08:00
ted.mielczarek@gmail.com
d4fdfec629 bug 418866 - skip PGO in jemalloc. r=bsmedberg 2008-02-25 12:25:25 -08:00