Permalink
Browse files

Jemalloc updated to 3.0.0.

Full changelog here:

http://www.canonware.com/cgi-bin/gitweb.cgi?p=jemalloc.git;a=blob_plain;f=ChangeLog;hb=master

Notable improvements from the point of view of Redis:

1) Bugfixing.
2) Support for Valgrind.
3) Support for OSX Lion, FreeBSD.
  • Loading branch information...
1 parent 3c72c94 commit ad4c0b4117ec15c0061b702f230caf1bc5eb4e06 @antirez committed May 15, 2012
Showing with 42,911 additions and 9,090 deletions.
  1. +23 −0 deps/jemalloc.orig/.gitignore
  2. +51 −0 deps/jemalloc.orig/COPYING
  3. +250 −0 deps/jemalloc.orig/ChangeLog
  4. +257 −0 deps/jemalloc.orig/INSTALL
  5. +259 −0 deps/jemalloc.orig/Makefile.in
  6. +16 −0 deps/jemalloc.orig/README
  7. +17 −0 deps/jemalloc.orig/autogen.sh
  8. +4,893 −0 deps/jemalloc.orig/bin/pprof
  9. +1,456 −0 deps/jemalloc.orig/config.guess
  10. 0 deps/jemalloc.orig/config.stamp.in
  11. +1,549 −0 deps/jemalloc.orig/config.sub
  12. +938 −0 deps/jemalloc.orig/configure.ac
  13. +4 −0 deps/jemalloc.orig/doc/html.xsl.in
  14. +2,280 −0 deps/jemalloc.orig/doc/jemalloc.xml.in
  15. +4 −0 deps/jemalloc.orig/doc/manpages.xsl.in
  16. +7 −0 deps/jemalloc.orig/doc/stylesheet.xsl
  17. +743 −0 deps/jemalloc.orig/include/jemalloc/internal/arena.h
  18. +169 −0 deps/jemalloc.orig/include/jemalloc/internal/atomic.h
  19. +24 −0 deps/jemalloc.orig/include/jemalloc/internal/base.h
  20. +184 −0 deps/jemalloc.orig/include/jemalloc/internal/bitmap.h
  21. +65 −0 deps/jemalloc.orig/include/jemalloc/internal/chunk.h
  22. +30 −0 deps/jemalloc.orig/include/jemalloc/internal/chunk_dss.h
  23. +23 −0 deps/jemalloc.orig/include/jemalloc/internal/chunk_mmap.h
  24. 0 deps/{jemalloc → jemalloc.orig}/include/jemalloc/internal/chunk_swap.h
  25. +95 −0 deps/jemalloc.orig/include/jemalloc/internal/ckh.h
  26. +118 −0 deps/jemalloc.orig/include/jemalloc/internal/ctl.h
  27. +49 −0 deps/jemalloc.orig/include/jemalloc/internal/extent.h
  28. +70 −0 deps/jemalloc.orig/include/jemalloc/internal/hash.h
  29. +41 −0 deps/jemalloc.orig/include/jemalloc/internal/huge.h
  30. +788 −0 deps/jemalloc.orig/include/jemalloc/internal/jemalloc_internal.h.in
  31. +108 −0 deps/jemalloc.orig/include/jemalloc/internal/mb.h
  32. +86 −0 deps/jemalloc.orig/include/jemalloc/internal/mutex.h
  33. +195 −0 deps/jemalloc.orig/include/jemalloc/internal/private_namespace.h
  34. 0 deps/{jemalloc → jemalloc.orig}/include/jemalloc/internal/prn.h
  35. +547 −0 deps/jemalloc.orig/include/jemalloc/internal/prof.h
  36. +83 −0 deps/jemalloc.orig/include/jemalloc/internal/ql.h
  37. +67 −0 deps/jemalloc.orig/include/jemalloc/internal/qr.h
  38. +973 −0 deps/jemalloc.orig/include/jemalloc/internal/rb.h
  39. +161 −0 deps/jemalloc.orig/include/jemalloc/internal/rtree.h
  40. +207 −0 deps/jemalloc.orig/include/jemalloc/internal/stats.h
  41. +431 −0 deps/jemalloc.orig/include/jemalloc/internal/tcache.h
  42. 0 deps/{jemalloc → jemalloc.orig}/include/jemalloc/internal/zone.h
  43. +66 −0 deps/jemalloc.orig/include/jemalloc/jemalloc.h.in
  44. +167 −0 deps/jemalloc.orig/include/jemalloc/jemalloc_defs.h.in
  45. +250 −0 deps/jemalloc.orig/install-sh
  46. +2,704 −0 deps/jemalloc.orig/src/arena.c
  47. +2 −0 deps/jemalloc.orig/src/atomic.c
  48. +106 −0 deps/jemalloc.orig/src/base.c
  49. +90 −0 deps/jemalloc.orig/src/bitmap.c
  50. +173 −0 deps/jemalloc.orig/src/chunk.c
  51. +284 −0 deps/jemalloc.orig/src/chunk_dss.c
  52. +239 −0 deps/jemalloc.orig/src/chunk_mmap.c
  53. 0 deps/{jemalloc → jemalloc.orig}/src/chunk_swap.c
  54. +619 −0 deps/jemalloc.orig/src/ckh.c
  55. +1,670 −0 deps/jemalloc.orig/src/ctl.c
  56. +41 −0 deps/jemalloc.orig/src/extent.c
  57. +2 −0 deps/jemalloc.orig/src/hash.c
  58. +386 −0 deps/jemalloc.orig/src/huge.c
  59. +1,881 −0 deps/jemalloc.orig/src/jemalloc.c
  60. +2 −0 deps/jemalloc.orig/src/mb.c
  61. +90 −0 deps/jemalloc.orig/src/mutex.c
  62. +1,244 −0 deps/jemalloc.orig/src/prof.c
  63. +46 −0 deps/jemalloc.orig/src/rtree.c
  64. +790 −0 deps/jemalloc.orig/src/stats.c
  65. +480 −0 deps/jemalloc.orig/src/tcache.c
  66. +354 −0 deps/jemalloc.orig/src/zone.c
  67. +142 −0 deps/jemalloc.orig/test/allocated.c
  68. +2 −0 deps/jemalloc.orig/test/allocated.exp
  69. +133 −0 deps/jemalloc.orig/test/allocm.c
  70. +25 −0 deps/jemalloc.orig/test/allocm.exp
  71. +157 −0 deps/jemalloc.orig/test/bitmap.c
  72. +2 −0 deps/jemalloc.orig/test/bitmap.exp
  73. +67 −0 deps/jemalloc.orig/test/mremap.c
  74. +2 −0 deps/jemalloc.orig/test/mremap.exp
  75. +121 −0 deps/jemalloc.orig/test/posix_memalign.c
  76. +25 −0 deps/jemalloc.orig/test/posix_memalign.exp
  77. +127 −0 deps/jemalloc.orig/test/rallocm.c
  78. +2 −0 deps/jemalloc.orig/test/rallocm.exp
  79. +92 −0 deps/jemalloc.orig/test/thread_arena.c
  80. +2 −0 deps/jemalloc.orig/test/thread_arena.exp
  81. +2 −0 deps/jemalloc/.gitignore
  82. +4 −28 deps/jemalloc/COPYING
  83. +89 −0 deps/jemalloc/ChangeLog
  84. +57 −36 deps/jemalloc/INSTALL
  85. +188 −124 deps/jemalloc/Makefile.in
  86. +6 −6 deps/jemalloc/README
  87. +1 −1 deps/jemalloc/VERSION
  88. +9 −0 deps/jemalloc/bin/jemalloc.sh.in
  89. +648 −193 deps/jemalloc/bin/pprof
  90. +546 −472 deps/jemalloc/config.guess
  91. +328 −104 deps/jemalloc/config.sub
  92. +1,699 −845 deps/jemalloc/configure
  93. +534 −186 deps/jemalloc/configure.ac
  94. +227 −255 deps/jemalloc/doc/jemalloc.3
  95. +223 −376 deps/jemalloc/doc/jemalloc.html
  96. +272 −448 deps/jemalloc/doc/jemalloc.xml.in
  97. +488 −256 deps/jemalloc/include/jemalloc/internal/arena.h
  98. +156 −21 deps/jemalloc/include/jemalloc/internal/atomic.h
  99. +4 −2 deps/jemalloc/include/jemalloc/internal/base.h
  100. +1 −9 deps/jemalloc/include/jemalloc/internal/chunk.h
  101. +4 −10 deps/jemalloc/include/jemalloc/internal/chunk_dss.h
  102. +3 −4 deps/jemalloc/include/jemalloc/internal/chunk_mmap.h
  103. +1 −6 deps/jemalloc/include/jemalloc/internal/ckh.h
  104. +26 −32 deps/jemalloc/include/jemalloc/internal/ctl.h
  105. +0 −6 deps/jemalloc/include/jemalloc/internal/extent.h
  106. +9 −9 deps/jemalloc/include/jemalloc/internal/hash.h
  107. +3 −4 deps/jemalloc/include/jemalloc/internal/huge.h
  108. +462 −319 deps/jemalloc/include/jemalloc/internal/jemalloc_internal.h.in
  109. +8 −1 deps/jemalloc/include/jemalloc/internal/mb.h
  110. +43 −30 deps/jemalloc/include/jemalloc/internal/mutex.h
  111. +164 −20 deps/jemalloc/include/jemalloc/internal/private_namespace.h
  112. +60 −0 deps/jemalloc/include/jemalloc/internal/prng.h
  113. +104 −73 deps/jemalloc/include/jemalloc/internal/prof.h
  114. +24 −0 deps/jemalloc/include/jemalloc/internal/quarantine.h
  115. +46 −46 deps/jemalloc/include/jemalloc/internal/rb.h
  116. +122 −0 deps/jemalloc/include/jemalloc/internal/size_classes.sh
  117. +0 −34 deps/jemalloc/include/jemalloc/internal/stats.h
  118. +207 −198 deps/jemalloc/include/jemalloc/internal/tcache.h
  119. +397 −0 deps/jemalloc/include/jemalloc/internal/tsd.h
  120. +160 −0 deps/jemalloc/include/jemalloc/internal/util.h
  121. +112 −24 deps/jemalloc/include/jemalloc/jemalloc.h.in
  122. +122 −36 deps/jemalloc/include/jemalloc/jemalloc_defs.h.in
  123. +313 −0 deps/jemalloc/include/msvc_compat/inttypes.h
  124. +16 −0 deps/jemalloc/include/msvc_compat/stdbool.h
  125. +247 −0 deps/jemalloc/include/msvc_compat/stdint.h
  126. +23 −0 deps/jemalloc/include/msvc_compat/strings.h
  127. +816 −1,299 deps/jemalloc/src/arena.c
  128. +34 −2 deps/jemalloc/src/base.c
  129. +228 −87 deps/jemalloc/src/chunk.c
  130. +69 −191 deps/jemalloc/src/chunk_dss.c
  131. +120 −157 deps/jemalloc/src/chunk_mmap.c
  132. +18 −28 deps/jemalloc/src/ckh.c
  133. +458 −710 deps/jemalloc/src/ctl.c
  134. +0 −2 deps/jemalloc/src/extent.c
  135. +63 −137 deps/jemalloc/src/huge.c
  136. +779 −922 deps/jemalloc/src/jemalloc.c
  137. +77 −18 deps/jemalloc/src/mutex.c
  138. +343 −314 deps/jemalloc/src/prof.c
  139. +210 −0 deps/jemalloc/src/quarantine.c
  140. +119 −366 deps/jemalloc/src/stats.c
  141. +194 −200 deps/jemalloc/src/tcache.c
  142. +107 −0 deps/jemalloc/src/tsd.c
  143. +646 −0 deps/jemalloc/src/util.c
  144. +85 −191 deps/jemalloc/src/zone.c
  145. +119 −0 deps/jemalloc/test/aligned_alloc.c
  146. +25 −0 deps/jemalloc/test/aligned_alloc.exp
  147. +32 −56 deps/jemalloc/test/allocated.c
  148. +109 −48 deps/jemalloc/test/allocm.c
  149. +14 −18 deps/jemalloc/test/bitmap.c
  150. +47 −0 deps/jemalloc/test/jemalloc_test.h.in
  151. +12 −19 deps/jemalloc/test/mremap.c
  152. +26 −32 deps/jemalloc/test/posix_memalign.c
  153. +42 −42 deps/jemalloc/test/rallocm.c
  154. +21 −35 deps/jemalloc/test/thread_arena.c
  155. +91 −0 deps/jemalloc/test/thread_tcache_enabled.c
  156. +2 −0 deps/jemalloc/test/thread_tcache_enabled.exp
  157. +1 −2 src/zmalloc.h
@@ -0,0 +1,23 @@
+/autom4te.cache/
+/config.stamp
+/config.log
+/config.status
+/configure
+/doc/html.xsl
+/doc/manpages.xsl
+/doc/jemalloc.xml
+/doc/jemalloc.html
+/doc/jemalloc.3
+/lib/
+/Makefile
+/include/jemalloc/internal/jemalloc_internal\.h
+/include/jemalloc/jemalloc\.h
+/include/jemalloc/jemalloc_defs\.h
+/test/jemalloc_test\.h
+/src/*.[od]
+/test/*.[od]
+/test/*.out
+/test/[a-z]*
+!test/*.c
+!test/*.exp
+/VERSION
View
@@ -0,0 +1,51 @@
+Unless otherwise specified, files in the jemalloc source distribution are
+subject to the following licenses:
+--------------------------------------------------------------------------------
+Copyright (C) 2002-2010 Jason Evans <jasone@canonware.com>.
+All rights reserved.
+Copyright (C) 2007-2010 Mozilla Foundation. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+1. Redistributions of source code must retain the above copyright notice(s),
+ this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice(s),
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY EXPRESS
+OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+--------------------------------------------------------------------------------
+Copyright (C) 2009-2010 Facebook, Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice, this
+ list of conditions and the following disclaimer in the documentation and/or
+ other materials provided with the distribution.
+* Neither the name of Facebook, Inc. nor the names of its contributors may be
+ used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+--------------------------------------------------------------------------------
@@ -0,0 +1,250 @@
+Following are change highlights associated with official releases. Important
+bug fixes are all mentioned, but internal enhancements are omitted here for
+brevity (even though they are more fun to write about). Much more detail can be
+found in the git revision history:
+
+ http://www.canonware.com/cgi-bin/gitweb.cgi?p=jemalloc.git
+ git://canonware.com/jemalloc.git
+
+* 2.2.5 (November 14, 2011)
+
+ Bug fixes:
+ - Fix huge_ralloc() race when using mremap(2). This is a serious bug that
+ could cause memory corruption and/or crashes.
+ - Fix huge_ralloc() to maintain chunk statistics.
+ - Fix malloc_stats_print(..., "a") output.
+
+* 2.2.4 (November 5, 2011)
+
+ Bug fixes:
+ - Initialize arenas_tsd before using it. This bug existed for 2.2.[0-3], as
+ well as for --disable-tls builds in earlier releases.
+ - Do not assume a 4 KiB page size in test/rallocm.c.
+
+* 2.2.3 (August 31, 2011)
+
+ This version fixes numerous bugs related to heap profiling.
+
+ Bug fixes:
+ - Fix a prof-related race condition. This bug could cause memory corruption,
+ but only occurred in non-default configurations (prof_accum:false).
+ - Fix off-by-one backtracing issues (make sure that prof_alloc_prep() is
+ excluded from backtraces).
+ - Fix a prof-related bug in realloc() (only triggered by OOM errors).
+ - Fix prof-related bugs in allocm() and rallocm().
+ - Fix prof_tdata_cleanup() for --disable-tls builds.
+ - Fix a relative include path, to fix objdir builds.
+
+* 2.2.2 (July 30, 2011)
+
+ Bug fixes:
+ - Fix a build error for --disable-tcache.
+ - Fix assertions in arena_purge() (for real this time).
+ - Add the --with-private-namespace option. This is a workaround for symbol
+ conflicts that can inadvertently arise when using static libraries.
+
+* 2.2.1 (March 30, 2011)
+
+ Bug fixes:
+ - Implement atomic operations for x86/x64. This fixes compilation failures
+ for versions of gcc that are still in wide use.
+ - Fix an assertion in arena_purge().
+
+* 2.2.0 (March 22, 2011)
+
+ This version incorporates several improvements to algorithms and data
+ structures that tend to reduce fragmentation and increase speed.
+
+ New features:
+ - Add the "stats.cactive" mallctl.
+ - Update pprof (from google-perftools 1.7).
+ - Improve backtracing-related configuration logic, and add the
+ --disable-prof-libgcc option.
+
+ Bug fixes:
+ - Change default symbol visibility from "internal", to "hidden", which
+ decreases the overhead of library-internal function calls.
+ - Fix symbol visibility so that it is also set on OS X.
+ - Fix a build dependency regression caused by the introduction of the .pic.o
+ suffix for PIC object files.
+ - Add missing checks for mutex initialization failures.
+ - Don't use libgcc-based backtracing except on x64, where it is known to work.
+ - Fix deadlocks on OS X that were due to memory allocation in
+ pthread_mutex_lock().
+ - Heap profiling-specific fixes:
+ + Fix memory corruption due to integer overflow in small region index
+ computation, when using a small enough sample interval that profiling
+ context pointers are stored in small run headers.
+ + Fix a bootstrap ordering bug that only occurred with TLS disabled.
+ + Fix a rallocm() rsize bug.
+ + Fix error detection bugs for aligned memory allocation.
+
+* 2.1.3 (March 14, 2011)
+
+ Bug fixes:
+ - Fix a cpp logic regression (due to the "thread.{de,}allocatedp" mallctl fix
+ for OS X in 2.1.2).
+ - Fix a "thread.arena" mallctl bug.
+ - Fix a thread cache stats merging bug.
+
+* 2.1.2 (March 2, 2011)
+
+ Bug fixes:
+ - Fix "thread.{de,}allocatedp" mallctl for OS X.
+ - Add missing jemalloc.a to build system.
+
+* 2.1.1 (January 31, 2011)
+
+ Bug fixes:
+ - Fix aligned huge reallocation (affected allocm()).
+ - Fix the ALLOCM_LG_ALIGN macro definition.
+ - Fix a heap dumping deadlock.
+ - Fix a "thread.arena" mallctl bug.
+
+* 2.1.0 (December 3, 2010)
+
+ This version incorporates some optimizations that can't quite be considered
+ bug fixes.
+
+ New features:
+ - Use Linux's mremap(2) for huge object reallocation when possible.
+ - Avoid locking in mallctl*() when possible.
+ - Add the "thread.[de]allocatedp" mallctl's.
+ - Convert the manual page source from roff to DocBook, and generate both roff
+ and HTML manuals.
+
+ Bug fixes:
+ - Fix a crash due to incorrect bootstrap ordering. This only impacted
+ --enable-debug --enable-dss configurations.
+ - Fix a minor statistics bug for mallctl("swap.avail", ...).
+
+* 2.0.1 (October 29, 2010)
+
+ Bug fixes:
+ - Fix a race condition in heap profiling that could cause undefined behavior
+ if "opt.prof_accum" were disabled.
+ - Add missing mutex unlocks for some OOM error paths in the heap profiling
+ code.
+ - Fix a compilation error for non-C99 builds.
+
+* 2.0.0 (October 24, 2010)
+
+ This version focuses on the experimental *allocm() API, and on improved
+ run-time configuration/introspection. Nonetheless, numerous performance
+ improvements are also included.
+
+ New features:
+ - Implement the experimental {,r,s,d}allocm() API, which provides a superset
+ of the functionality available via malloc(), calloc(), posix_memalign(),
+ realloc(), malloc_usable_size(), and free(). These functions can be used to
+ allocate/reallocate aligned zeroed memory, ask for optional extra memory
+ during reallocation, prevent object movement during reallocation, etc.
+ - Replace JEMALLOC_OPTIONS/JEMALLOC_PROF_PREFIX with MALLOC_CONF, which is
+ more human-readable, and more flexible. For example:
+ JEMALLOC_OPTIONS=AJP
+ is now:
+ MALLOC_CONF=abort:true,fill:true,stats_print:true
+ - Port to Apple OS X. Sponsored by Mozilla.
+ - Make it possible for the application to control thread-->arena mappings via
+ the "thread.arena" mallctl.
+ - Add compile-time support for all TLS-related functionality via pthreads TSD.
+ This is mainly of interest for OS X, which does not support TLS, but has a
+ TSD implementation with similar performance.
+ - Override memalign() and valloc() if they are provided by the system.
+ - Add the "arenas.purge" mallctl, which can be used to synchronously purge all
+ dirty unused pages.
+ - Make cumulative heap profiling data optional, so that it is possible to
+ limit the amount of memory consumed by heap profiling data structures.
+ - Add per thread allocation counters that can be accessed via the
+ "thread.allocated" and "thread.deallocated" mallctls.
+
+ Incompatible changes:
+ - Remove JEMALLOC_OPTIONS and malloc_options (see MALLOC_CONF above).
+ - Increase default backtrace depth from 4 to 128 for heap profiling.
+ - Disable interval-based profile dumps by default.
+
+ Bug fixes:
+ - Remove bad assertions in fork handler functions. These assertions could
+ cause aborts for some combinations of configure settings.
+ - Fix strerror_r() usage to deal with non-standard semantics in GNU libc.
+ - Fix leak context reporting. This bug tended to cause the number of contexts
+ to be underreported (though the reported number of objects and bytes were
+ correct).
+ - Fix a realloc() bug for large in-place growing reallocation. This bug could
+ cause memory corruption, but it was hard to trigger.
+ - Fix an allocation bug for small allocations that could be triggered if
+ multiple threads raced to create a new run of backing pages.
+ - Enhance the heap profiler to trigger samples based on usable size, rather
+ than request size.
+ - Fix a heap profiling bug due to sometimes losing track of requested object
+ size for sampled objects.
+
+* 1.0.3 (August 12, 2010)
+
+ Bug fixes:
+ - Fix the libunwind-based implementation of stack backtracing (used for heap
+ profiling). This bug could cause zero-length backtraces to be reported.
+ - Add a missing mutex unlock in library initialization code. If multiple
+ threads raced to initialize malloc, some of them could end up permanently
+ blocked.
+
+* 1.0.2 (May 11, 2010)
+
+ Bug fixes:
+ - Fix junk filling of large objects, which could cause memory corruption.
+ - Add MAP_NORESERVE support for chunk mapping, because otherwise virtual
+ memory limits could cause swap file configuration to fail. Contributed by
+ Jordan DeLong.
+
+* 1.0.1 (April 14, 2010)
+
+ Bug fixes:
+ - Fix compilation when --enable-fill is specified.
+ - Fix threads-related profiling bugs that affected accuracy and caused memory
+ to be leaked during thread exit.
+ - Fix dirty page purging race conditions that could cause crashes.
+ - Fix crash in tcache flushing code during thread destruction.
+
+* 1.0.0 (April 11, 2010)
+
+ This release focuses on speed and run-time introspection. Numerous
+ algorithmic improvements make this release substantially faster than its
+ predecessors.
+
+ New features:
+ - Implement autoconf-based configuration system.
+ - Add mallctl*(), for the purposes of introspection and run-time
+ configuration.
+ - Make it possible for the application to manually flush a thread's cache, via
+ the "tcache.flush" mallctl.
+ - Base maximum dirty page count on proportion of active memory.
+ - Compute various addtional run-time statistics, including per size class
+ statistics for large objects.
+ - Expose malloc_stats_print(), which can be called repeatedly by the
+ application.
+ - Simplify the malloc_message() signature to only take one string argument,
+ and incorporate an opaque data pointer argument for use by the application
+ in combination with malloc_stats_print().
+ - Add support for allocation backed by one or more swap files, and allow the
+ application to disable over-commit if swap files are in use.
+ - Implement allocation profiling and leak checking.
+
+ Removed features:
+ - Remove the dynamic arena rebalancing code, since thread-specific caching
+ reduces its utility.
+
+ Bug fixes:
+ - Modify chunk allocation to work when address space layout randomization
+ (ASLR) is in use.
+ - Fix thread cleanup bugs related to TLS destruction.
+ - Handle 0-size allocation requests in posix_memalign().
+ - Fix a chunk leak. The leaked chunks were never touched, so this impacted
+ virtual memory usage, but not physical memory usage.
+
+* linux_2008082[78]a (August 27/28, 2008)
+
+ These snapshot releases are the simple result of incorporating Linux-specific
+ support into the FreeBSD malloc sources.
+
+--------------------------------------------------------------------------------
+vim:filetype=text:textwidth=80
Oops, something went wrong.

2 comments on commit ad4c0b4

Contributor

anydot replied May 16, 2012

Why deps/jemalloc and deps/jemalloc.orig?

Owner

antirez replied May 16, 2012

Sorry, stupid error, already fixed :) thanks.

Please sign in to comment.