ChangeLog (235238) | ChangeLog (235322) |
---|---|
1Following are change highlights associated with official releases. Important 2bug fixes are all mentioned, but internal enhancements are omitted here for 3brevity (even though they are more fun to write about). Much more detail can be 4found in the git revision history: 5 6 http://www.canonware.com/cgi-bin/gitweb.cgi?p=jemalloc.git 7 git://canonware.com/jemalloc.git 8 | 1Following are change highlights associated with official releases. Important 2bug fixes are all mentioned, but internal enhancements are omitted here for 3brevity (even though they are more fun to write about). Much more detail can be 4found in the git revision history: 5 6 http://www.canonware.com/cgi-bin/gitweb.cgi?p=jemalloc.git 7 git://canonware.com/jemalloc.git 8 |
9* 3.0.0 (XXX not yet released) | 9* 3.0.0 (May 11, 2012) |
10 11 Although this version adds some major new features, the primary focus is on 12 internal code cleanup that facilitates maintainability and portability, most 13 of which is not reflected in the ChangeLog. This is the first release to 14 incorporate substantial contributions from numerous other developers, and the 15 result is a more broadly useful allocator (see the git revision history for 16 contribution details). Note that the license has been unified, thanks to 17 Facebook granting a license under the same terms as the other copyright 18 holders (see COPYING). 19 20 New features: 21 - Implement Valgrind support, redzones, and quarantine. 22 - Add support for additional platforms: 23 + FreeBSD 24 + Mac OS X Lion 25 + MinGW | 10 11 Although this version adds some major new features, the primary focus is on 12 internal code cleanup that facilitates maintainability and portability, most 13 of which is not reflected in the ChangeLog. This is the first release to 14 incorporate substantial contributions from numerous other developers, and the 15 result is a more broadly useful allocator (see the git revision history for 16 contribution details). Note that the license has been unified, thanks to 17 Facebook granting a license under the same terms as the other copyright 18 holders (see COPYING). 19 20 New features: 21 - Implement Valgrind support, redzones, and quarantine. 22 - Add support for additional platforms: 23 + FreeBSD 24 + Mac OS X Lion 25 + MinGW |
26 + Windows (no support yet for replacing the system malloc) |
|
26 - Add support for additional architectures: 27 + MIPS 28 + SH4 29 + Tilera 30 - Add support for cross compiling. 31 - Add nallocm(), which rounds a request size up to the nearest size class 32 without actually allocating. 33 - Implement aligned_alloc() (blame C11). | 27 - Add support for additional architectures: 28 + MIPS 29 + SH4 30 + Tilera 31 - Add support for cross compiling. 32 - Add nallocm(), which rounds a request size up to the nearest size class 33 without actually allocating. 34 - Implement aligned_alloc() (blame C11). |
34 - Add the --disable-munmap option, and make it the default on Linux. 35 - Add the --with-mangling option. 36 - Add the --disable-experimental option. | |
37 - Add the "thread.tcache.enabled" mallctl. 38 - Add the "opt.prof_final" mallctl. 39 - Update pprof (from gperftools 2.0). | 35 - Add the "thread.tcache.enabled" mallctl. 36 - Add the "opt.prof_final" mallctl. 37 - Update pprof (from gperftools 2.0). |
38 - Add the --with-mangling option. 39 - Add the --disable-experimental option. 40 - Add the --disable-munmap option, and make it the default on Linux. 41 - Add the --enable-mremap option, which disables use of mremap(2) by default. |
|
40 41 Incompatible changes: 42 - Enable stats by default. 43 - Enable fill by default. 44 - Disable lazy locking by default. 45 - Rename the "tcache.flush" mallctl to "thread.tcache.flush". 46 - Rename the "arenas.pagesize" mallctl to "arenas.page". 47 - Change the "opt.lg_prof_sample" default from 0 to 19 (1 B to 512 KiB). --- 18 unchanged lines hidden (view full) --- 66 67 Bug fixes: 68 - Fix a statistics-related bug in the "thread.arena" mallctl that could cause 69 invalid statistics and crashes. 70 - Work around TLS deallocation via free() on Linux. This bug could cause 71 write-after-free memory corruption. 72 - Fix a potential deadlock that could occur during interval- and 73 growth-triggered heap profile dumps. | 42 43 Incompatible changes: 44 - Enable stats by default. 45 - Enable fill by default. 46 - Disable lazy locking by default. 47 - Rename the "tcache.flush" mallctl to "thread.tcache.flush". 48 - Rename the "arenas.pagesize" mallctl to "arenas.page". 49 - Change the "opt.lg_prof_sample" default from 0 to 19 (1 B to 512 KiB). --- 18 unchanged lines hidden (view full) --- 68 69 Bug fixes: 70 - Fix a statistics-related bug in the "thread.arena" mallctl that could cause 71 invalid statistics and crashes. 72 - Work around TLS deallocation via free() on Linux. This bug could cause 73 write-after-free memory corruption. 74 - Fix a potential deadlock that could occur during interval- and 75 growth-triggered heap profile dumps. |
76 - Fix large calloc() zeroing bugs due to dropping chunk map unzeroed flags. |
|
74 - Fix chunk_alloc_dss() to stop claiming memory is zeroed. This bug could 75 cause memory corruption and crashes with --enable-dss specified. 76 - Fix fork-related bugs that could cause deadlock in children between fork 77 and exec. 78 - Fix malloc_stats_print() to honor 'b' and 'l' in the opts parameter. 79 - Fix realloc(p, 0) to act like free(p). 80 - Do not enforce minimum alignment in memalign(). 81 - Check for NULL pointer in malloc_usable_size(). --- 255 unchanged lines hidden --- | 77 - Fix chunk_alloc_dss() to stop claiming memory is zeroed. This bug could 78 cause memory corruption and crashes with --enable-dss specified. 79 - Fix fork-related bugs that could cause deadlock in children between fork 80 and exec. 81 - Fix malloc_stats_print() to honor 'b' and 'l' in the opts parameter. 82 - Fix realloc(p, 0) to act like free(p). 83 - Do not enforce minimum alignment in memalign(). 84 - Check for NULL pointer in malloc_usable_size(). --- 255 unchanged lines hidden --- |