Граф коммитов

30 Коммитов

Автор SHA1 Сообщение Дата
Jason Evans 3ef7e52a36 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 fc229845b3 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 47d46f359c 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 7e227fb003 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 5e0195af67 Backing out bug 427109 to try to fix Linux bustage 2008-06-24 19:52:40 +12:00
Jason Evans 11f8f29a22 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 666f56f16b Bug 431735: Fix build failures due to compiler flag incompatibilities, r=ted 2008-06-20 12:00:29 -07:00
Jason Evans b3f6c9945b 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 b0d2a38b86 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 4fcf854663 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 16e8825a75 Bug 422960: Add jemalloc_stats() and jemalloc.h, r=benjamin 2008-06-20 10:34:42 -07:00
Jason Evans 9f1fc45c67 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 8451913ec7 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 822470b092 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 cea5978b88 Bug 422055 Remove alloca() call patch by Jason Evans a=mtschrep 2008-05-07 22:36:40 -07:00
pavlov@pavlov.net 33cd991184 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 a696c7adae 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 192863b8d1 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 a82c2e36c8 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 4f2f3de52b 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 ce8a3a3620 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 4bcd5af890 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 39be3999c2 bug 415918 - fix version info on mozcrt19.dll. r=bsmedberg 2008-03-05 11:09:52 -08:00
pavlov@pavlov.net b9470f6ddf bug 419753. export additional jemalloc symbols from the crt. r/a=me 2008-02-26 16:55:45 -08:00
ted.mielczarek@gmail.com 5cf57d66b6 bug 418866 - skip PGO in jemalloc. r=bsmedberg 2008-02-25 12:25:25 -08:00
pavlov@pavlov.net 453fe6537d bug 417163. fix race in realloc when using the junk option. patch from Jason Evans <jasone@canonware.com>. r/sr=me 2008-02-15 17:53:31 -08:00
jag@tty.nl 0b1f792c4d Fix static build bustage. r=/sr=/a=pavlov 2008-02-12 23:31:35 -08:00
pavlov@pavlov.net 56dff7c9d8 bug 417066. enabling jemalloc by default on linux. r=bsmedberg. 2008-02-12 15:55:04 -08:00
pavlov@pavlov.net cad35472bb bug 416261. updating jemalloc to latest version. r=me 2008-02-08 21:46:59 -08:00
jst@mozilla.com edf4ffd106 Adding the memory/jemalloc directory to hg. See CVS for previous history. 2008-02-06 15:06:50 -08:00