History log of /freebsd-current/contrib/jemalloc/src/jemalloc.c
Revision Date Author Comments
# c5ad8142 23-Apr-2020 Eric van Gyzen <vangyzen@FreeBSD.org>

Update jemalloc to version 5.2.1

Revert r354606 to restore r354605.

Apply one line from jemalloc commit d01b425e5d1e1 in hash_x86_128()
to fix the build with gcc, which only allows a fallthrough attribute
to appear before a case or default label.

Submitted by: jasone in r354605
Discussed with: jasone
Reviewed by: bdrewery
MFC after: never, due to gcc 4.2.1
Relnotes: yes
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D24522


# f2cb2907 10-Nov-2019 Jason Evans <jasone@FreeBSD.org>

Revert r354605: Update jemalloc to version 5.2.1.

Compilation fails for non-llvm-based platforms.


# e1c167d0 10-Nov-2019 Jason Evans <jasone@FreeBSD.org>

Update jemalloc to version 5.2.1.


# 0edc114a 17-Sep-2019 Konstantin Belousov <kib@FreeBSD.org>

realloc(x, 0) should not return NULL.

See http://www.open-std.org/jtc1/sc22/wg14/www/docs/summary.htm#dr_400.
Upstream jemalloc issue is opened by emaste at
https://github.com/jemalloc/jemalloc/issues/1629.

Reviewed by: emaste
PR: 240456
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
DIfferential revision: https://reviews.freebsd.org/D21632


# 0ef50b4e 10-May-2018 Jason Evans <jasone@FreeBSD.org>

Update jemalloc to version 5.1.0.


# 8b2f5aaf 03-Jul-2017 Jason Evans <jasone@FreeBSD.org>

Update jemalloc to 5.0.1.


# b7eaed25 15-Jun-2017 Jason Evans <jasone@FreeBSD.org>

Update jemalloc to 5.0.0.


# 8244f2aa 01-Mar-2017 Jason Evans <jasone@FreeBSD.org>

Update jemalloc to 4.5.0.


# 7fa7f12f 04-Dec-2016 Jason Evans <jasone@FreeBSD.org>

Update jemalloc to 4.4.0.


# bde95144 09-Nov-2016 Jason Evans <jasone@FreeBSD.org>

Update jemalloc to 4.3.1.


# 62b2691e 09-Jun-2016 Jason Evans <jasone@FreeBSD.org>

Update jemalloc to 4.2.1.


# 1f0a49e8 12-May-2016 Jason Evans <jasone@FreeBSD.org>

Update jemalloc to 4.2.0.


# df0d881d 29-Feb-2016 Jason Evans <jasone@FreeBSD.org>

Update jemalloc to 4.1.0.

Add missing Symbol.map entry for __aligned_alloc.

Add weak-->strong symbol binding for
{malloc_stats_print,mallctl,mallctlnametomib,mallctlbymib} -->
{__malloc_stats_print,__mallctl,__mallctlnametomib,__mallctlbymib}. These
bindings complete the set necessary to allow applications to replace all
malloc-related symbols.


# 536b3538 21-Sep-2015 Jason Evans <jasone@FreeBSD.org>

Update jemalloc to 4.0.2.


# d0e79aa3 17-Aug-2015 Jason Evans <jasone@FreeBSD.org>

Update jemalloc to version 4.0.0.


# 8495e8b1 03-Jan-2015 Konstantin Belousov <kib@FreeBSD.org>

Fix known issues which blow up the process after dlopen("libthr.so")
(or loading a dso linked to libthr.so into process which was not
linked against threading library).

- Remove libthr interposers of the libc functions, including
__error(). Instead, functions calls are indirected through the
interposing table, similar to how pthread stubs in libc are already
done. Libc by default points either to syscall trampolines or to
existing libc implementations. On libthr load, libthr rewrites the
pointers to the cancellable implementations already in libthr. The
interposition table is separate from pthreads stubs indirection
table to not pull pthreads stubs into static binaries.

- Postpone the malloc(3) internal mutexes initialization until libthr
is loaded. This avoids recursion between calloc(3) and static
pthread_mutex_t initialization.

- Reinstall signal handlers with wrapper on libthr load. The
_rtld_is_dlopened(3) is used to avoid useless calls to sigaction(2)
when libthr is statically referenced from the main binary.

In the process, fix openat(2), swapcontext(2) and setcontext(2)
interposing. The libc symbols were exported at different versions
than libthr interposers. Export both libc and libthr versions from
libc now, with default set to the higher version from libthr.

Remove unused and disconnected swapcontext(3) userspace implementation
from libc/gen.

No objections from: deischen
Tested by: pho, antoine (exp-run) (previous versions)
Sponsored by: The FreeBSD Foundation
MFC after: 1 week


# 2fff27f8 31-Mar-2014 Jason Evans <jasone@FreeBSD.org>

Update jemalloc to version 3.6.0.


# f921d10f 22-Jan-2014 Jason Evans <jasone@FreeBSD.org>

Update jemalloc to version 3.5.0.


# 2b06b201 20-Oct-2013 Jason Evans <jasone@FreeBSD.org>

Update jemalloc to version 3.4.1.


# f8ca2db1 03-Jun-2013 Jason Evans <jasone@FreeBSD.org>

Update jemalloc to version 3.4.0.


# 88ad2f8d 23-Jan-2013 Jason Evans <jasone@FreeBSD.org>

Import jemalloc 3.3.0. This reduces zeroed memory validation overhead for
non-MALLOC_PRODUCTION builds.


# 82872ac0 09-Nov-2012 Jason Evans <jasone@FreeBSD.org>

Import jemalloc 3.2.0.


# 35dad073 11-May-2012 Jason Evans <jasone@FreeBSD.org>

Import jemalloc 3.0.0. This fixes memory zeroing bugs that manifested as
jemalloc assertion failures for debug builds, or as calloc() sometimes
returning non-zeroed memory for production builds.


# e722f8f8 10-May-2012 Jason Evans <jasone@FreeBSD.org>

Import jemalloc 37b6f95dcd866f51c91488531a2efc3ed4c2b754 (dev branch,
prior to 3.0.0 release). This version is likely very close to what will be
3.0.0.


# 4fdb8d2a 24-Apr-2012 Dimitry Andric <dim@FreeBSD.org>

Work around llvm PR 12623, which makes variables declared with .symver
sometimes disappear from the resulting object file, if compiled with
clang. In particular, this can lead to errors when building world with
clang and -g, similar to:

/usr/obj/usr/src/tmp/usr/lib/libc.so: undefined reference to `_malloc_options'

Reported by: Conrad J. Sabatier <conrads@.no.cox.net>
Reviewed by: jasone


# 4bcb1430 22-Apr-2012 Jason Evans <jasone@FreeBSD.org>

Import jemalloc a8f8d7540d66ddee7337db80c92890916e1063ca (dev branch,
prior to 3.0.0 release). This fixes several bugs related to memory
initialization.

Mangle __jemalloc_a0{malloc,calloc,free}() just like all the other
library-internal symbols in jemalloc, and adjust the tls allocation code
in libc to use the mangled names.


# 8ed34ab0 21-Apr-2012 Jason Evans <jasone@FreeBSD.org>

Import jemalloc 606f1fdc3cdbc700717133ca56685313caea24bb (dev branch,
prior to 3.0.0 release), and mangle internal symbols.


# a4bd5210 17-Apr-2012 Jason Evans <jasone@FreeBSD.org>

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.