Go to file
Jason Evans 6ef80d68f0 Fix profile dumping race.
Fix a race that caused a non-critical assertion failure.  To trigger the
race, a thread had to be part way through initializing a new sample,
such that it was discoverable by the dumping thread, but not yet linked
into its gctx by the time a later dump phase would normally have reset
its state to 'nominal'.

Additionally, lock access to the state field during modification to
transition to the dumping state.  It's not apparent that this oversight
could have caused an actual problem due to outer locking that protects
the dumping machinery, but the added locking pedantically follows the
stated locking protocol for the state field.
2014-09-24 22:23:43 -07:00
bin Add sdallocx() to list of functions to prune in pprof. 2014-09-10 08:49:29 -07:00
doc Add support for sized deallocation. 2014-09-08 17:34:24 -07:00
include Fix profile dumping race. 2014-09-24 22:23:43 -07:00
src Fix profile dumping race. 2014-09-24 22:23:43 -07:00
test Convert all tsd variables to reside in a single tsd structure. 2014-09-23 02:36:08 -07:00
.autom4te.cfg Disable autom4te cache. 2014-09-02 17:49:29 -07:00
.gitattributes fix git handling of newlines on windows 2014-05-07 18:48:39 -04:00
.gitignore Ignore jemalloc.pc . 2014-09-21 21:40:38 -07: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 config.{guess,sub} to more recent versions, to add better support to OpenRISC/or1k (among others) 2014-07-29 23:15:26 +01:00
config.stamp.in Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
config.sub Fixed iOS build after OR1 changes 2014-09-12 07:24:28 +03:00
configure.ac Generate a pkg-config file 2014-09-19 22:27:35 +01: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 Add instructions for installing from non-packaged sources. 2014-09-23 09:21:49 -07:00
install-sh Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
jemalloc.pc.in Generate a pkg-config file 2014-09-19 22:27:35 +01:00
Makefile.in Generate a pkg-config file 2014-09-19 22:27:35 +01: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/