diff options
author | jasone <jasone@FreeBSD.org> | 2012-04-17 07:22:14 +0000 |
---|---|---|
committer | jasone <jasone@FreeBSD.org> | 2012-04-17 07:22:14 +0000 |
commit | cbeacb7c46f3a3650e5dbefa9a1a18bc9943a8cc (patch) | |
tree | 24efdb5b31d087479e78f72f3b772bd5b02e470c /lib/libc/stdlib/jemalloc | |
parent | 1bc364bf7eebf6139e4f968987974484d35c5cb4 (diff) | |
download | FreeBSD-src-cbeacb7c46f3a3650e5dbefa9a1a18bc9943a8cc.zip FreeBSD-src-cbeacb7c46f3a3650e5dbefa9a1a18bc9943a8cc.tar.gz |
Import jemalloc 9ef7f5dc34ff02f50d401e41c8d9a4a928e7c2aa (dev branch,
prior to 3.0.0 release) as contrib/jemalloc, and integrate it into libc.
The code being imported by this commit diverged from
lib/libc/stdlib/malloc.c in March 2010, which means that a portion of
the jemalloc 1.0.0 ChangeLog entries are relevant, as are the entries
for all subsequent releases.
Diffstat (limited to 'lib/libc/stdlib/jemalloc')
-rw-r--r-- | lib/libc/stdlib/jemalloc/Makefile.inc | 46 | ||||
-rw-r--r-- | lib/libc/stdlib/jemalloc/Symbol.map | 35 |
2 files changed, 81 insertions, 0 deletions
diff --git a/lib/libc/stdlib/jemalloc/Makefile.inc b/lib/libc/stdlib/jemalloc/Makefile.inc new file mode 100644 index 0000000..9718676 --- /dev/null +++ b/lib/libc/stdlib/jemalloc/Makefile.inc @@ -0,0 +1,46 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/stdlib/jemalloc + +JEMALLOCSRCS:= jemalloc.c arena.c atomic.c base.c bitmap.c chunk.c \ + chunk_dss.c chunk_mmap.c ckh.c ctl.c extent.c hash.c huge.c mb.c \ + mutex.c prof.c quarantine.c rtree.c stats.c tcache.c util.c tsd.c + +SYM_MAPS+=${.CURDIR}/stdlib/jemalloc/Symbol.map + +CFLAGS+=-I${.CURDIR}/../../contrib/jemalloc/include + +.for src in ${JEMALLOCSRCS} +MISRCS+=jemalloc_${src} +CLEANFILES+=jemalloc_${src} +jemalloc_${src}: + ln -sf ${.CURDIR}/../../contrib/jemalloc/src/${src} ${.TARGET} +.endfor + +MAN+=jemalloc.3 +CLEANFILES+=jemalloc.3 +jemalloc.3: + ln -sf ${.CURDIR}/../../contrib/jemalloc/doc/jemalloc.3 ${.TARGET} + +MLINKS+= \ + jemalloc.3 malloc.3 \ + jemalloc.3 calloc.3 \ + jemalloc.3 posix_memalign.3 \ + jemalloc.3 aligned_alloc.3 \ + jemalloc.3 realloc.3 \ + jemalloc.3 free.3 \ + jemalloc.3 malloc_usable_size.3 \ + jemalloc.3 malloc_stats_print.3 \ + jemalloc.3 mallctl.3 \ + jemalloc.3 mallctlnametomib.3 \ + jemalloc.3 mallctlbymib.3 \ + jemalloc.3 allocm.3 \ + jemalloc.3 rallocm.3 \ + jemalloc.3 sallocm.3 \ + jemalloc.3 dallocm.3 \ + jemalloc.3 nallocm.3 \ + jemalloc.3 malloc.conf.5 + +.if defined(MALLOC_PRODUCTION) +CFLAGS+= -DMALLOC_PRODUCTION +.endif diff --git a/lib/libc/stdlib/jemalloc/Symbol.map b/lib/libc/stdlib/jemalloc/Symbol.map new file mode 100644 index 0000000..b98d37a --- /dev/null +++ b/lib/libc/stdlib/jemalloc/Symbol.map @@ -0,0 +1,35 @@ +/* + * $FreeBSD$ + */ + +FBSD_1.0 { + _malloc_options; + _malloc_message; + malloc; + posix_memalign; + calloc; + realloc; + free; + malloc_usable_size; +}; + +FBSD_1.3 { + malloc_conf; + malloc_message; + aligned_alloc; + malloc_stats_print; + mallctl; + mallctlnametomib; + mallctlbymib; + allocm; + rallocm; + sallocm; + dallocm; + nallocm; +}; + +FBSDprivate_1.0 { + _malloc_thread_cleanup; + _malloc_prefork; + _malloc_postfork; +}; |