mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-04-14 14:41:42 +03:00
Implement C23's free_sized and free_aligned_sized
[N2699 - Sized Memory Deallocation](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2699.htm) introduced two new functions which were incorporated into the C23 standard, `free_sized` and `free_aligned_sized`. Both already have analogues in Jemalloc, all we are doing here is adding the appropriate wrappers.
This commit is contained in:
parent
41e0b857be
commit
cdb2c0e02f
5 changed files with 75 additions and 1 deletions
12
configure.ac
12
configure.ac
|
|
@ -1105,7 +1105,7 @@ AC_ARG_WITH([export],
|
|||
fi]
|
||||
)
|
||||
|
||||
public_syms="aligned_alloc calloc dallocx free mallctl mallctlbymib mallctlnametomib malloc malloc_conf malloc_conf_2_conf_harder malloc_message malloc_stats_print malloc_usable_size mallocx smallocx_${jemalloc_version_gid} nallocx posix_memalign rallocx realloc sallocx sdallocx xallocx"
|
||||
public_syms="aligned_alloc calloc dallocx free free_sized free_aligned_sized mallctl mallctlbymib mallctlnametomib malloc malloc_conf malloc_conf_2_conf_harder malloc_message malloc_stats_print malloc_usable_size mallocx smallocx_${jemalloc_version_gid} nallocx posix_memalign rallocx realloc sallocx sdallocx xallocx"
|
||||
dnl Check for additional platform-specific public API functions.
|
||||
AC_CHECK_FUNC([memalign],
|
||||
[AC_DEFINE([JEMALLOC_OVERRIDE_MEMALIGN], [ ], [ ])
|
||||
|
|
@ -1129,6 +1129,16 @@ if test "x${JEMALLOC_PREFIX}" = "x" ; then
|
|||
AC_CHECK_FUNC([__libc_free],
|
||||
[AC_DEFINE([JEMALLOC_OVERRIDE___LIBC_FREE], [ ], [ ])
|
||||
wrap_syms="${wrap_syms} __libc_free"])
|
||||
dnl __libc_free_sized and __libc_free_aligned_sized are here speculatively
|
||||
dnl under the assumption that glibc will eventually define symbols with these
|
||||
dnl names. In the event glibc chooses different names for these symbols,
|
||||
dnl these will need to be amended to match.
|
||||
AC_CHECK_FUNC([__libc_free_sized],
|
||||
[AC_DEFINE([JEMALLOC_OVERRIDE___LIBC_FREE_SIZED], [ ], [ ])
|
||||
wrap_syms="${wrap_syms} __libc_free_sized"])
|
||||
AC_CHECK_FUNC([__libc_free_aligned_sized],
|
||||
[AC_DEFINE([JEMALLOC_OVERRIDE___LIBC_FREE_ALIGNED_SIZED], [ ], [ ])
|
||||
wrap_syms="${wrap_syms} __libc_free_aligned_sized"])
|
||||
AC_CHECK_FUNC([__libc_malloc],
|
||||
[AC_DEFINE([JEMALLOC_OVERRIDE___LIBC_MALLOC], [ ], [ ])
|
||||
wrap_syms="${wrap_syms} __libc_malloc"])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue