Go to file
Jason Evans e2deab7a75 Refactor huge allocation to be managed by arenas.
Refactor huge allocation to be managed by arenas (though the global
red-black tree of huge allocations remains for lookup during
deallocation).  This is the logical conclusion of recent changes that 1)
made per arena dss precedence apply to huge allocation, and 2) made it
possible to replace the per arena chunk allocation/deallocation
functions.

Remove the top level huge stats, and replace them with per arena huge
stats.

Normalize function names and types to *dalloc* (some were *dealloc*).

Remove the --enable-mremap option.  As jemalloc currently operates, this
is a performace regression for some applications, but planned work to
logarithmically space huge size classes should provide similar amortized
performance.  The motivation for this change was that mremap-based huge
reallocation forced leaky abstractions that prevented refactoring.
2014-05-15 22:36:41 -07:00
bin Simplify backtracing. 2014-04-22 20:55:09 -07:00
doc Refactor huge allocation to be managed by arenas. 2014-05-15 22:36:41 -07:00
include Refactor huge allocation to be managed by arenas. 2014-05-15 22:36:41 -07:00
src Refactor huge allocation to be managed by arenas. 2014-05-15 22:36:41 -07:00
test Refactor huge allocation to be managed by arenas. 2014-05-15 22:36:41 -07:00
.gitattributes fix git handling of newlines on windows 2014-05-07 18:48:39 -04:00
.gitignore Fix name mangling for stress tests. 2014-01-16 17:38:01 -08:00
autogen.sh Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
ChangeLog Update ChangeLog for 3.6.0. 2014-03-31 09:23:10 -07:00
config.guess Update autoconf support files. 2013-10-28 12:44:16 -07:00
config.stamp.in Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
config.sub Update autoconf support files. 2013-10-28 12:44:16 -07:00
configure.ac Refactor huge allocation to be managed by arenas. 2014-05-15 22:36:41 -07:00
COPYING Update copyrights. 2014-01-22 11:09:04 -08:00
coverage.sh Add test code coverage analysis. 2013-12-06 18:50:51 -08:00
INSTALL Refactor huge allocation to be managed by arenas. 2014-05-15 22:36:41 -07:00
install-sh Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
Makefile.in Refactor huge allocation to be managed by arenas. 2014-05-15 22:36:41 -07:00
README Update README. 2013-10-20 19:38:19 -07:00

jemalloc is a general purpose malloc(3) implementation that emphasizes
fragmentation avoidance and scalable concurrency support.  jemalloc first came
into use as the FreeBSD libc allocator in 2005, and since then it has found its
way into numerous applications that rely on its predictable behavior.  In 2010
jemalloc development efforts broadened to include developer support features
such as heap profiling, Valgrind integration, and extensive monitoring/tuning
hooks.  Modern jemalloc releases continue to be integrated back into FreeBSD,
and therefore versatility remains critical.  Ongoing development efforts trend
toward making jemalloc among the best allocators for a broad range of demanding
applications, and eliminating/mitigating weaknesses that have practical
repercussions for real world applications.

The COPYING file contains copyright and licensing information.

The INSTALL file contains information on how to configure, build, and install
jemalloc.

The ChangeLog file contains a brief summary of changes for each release.

URL: http://www.canonware.com/jemalloc/