mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-05-07 15:59:32 +03:00
Merge branch 'dev' into dev-slice
This commit is contained in:
commit
01ba98b183
2 changed files with 11 additions and 2 deletions
|
@ -77,7 +77,9 @@ typedef struct mi_nothrow_s { int _tag; } mi_nothrow_t;
|
||||||
MI_INTERPOSE_MI(calloc),
|
MI_INTERPOSE_MI(calloc),
|
||||||
MI_INTERPOSE_MI(realloc),
|
MI_INTERPOSE_MI(realloc),
|
||||||
MI_INTERPOSE_MI(strdup),
|
MI_INTERPOSE_MI(strdup),
|
||||||
|
#if defined(MAC_OS_X_VERSION_10_7) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
|
||||||
MI_INTERPOSE_MI(strndup),
|
MI_INTERPOSE_MI(strndup),
|
||||||
|
#endif
|
||||||
MI_INTERPOSE_MI(realpath),
|
MI_INTERPOSE_MI(realpath),
|
||||||
MI_INTERPOSE_MI(posix_memalign),
|
MI_INTERPOSE_MI(posix_memalign),
|
||||||
MI_INTERPOSE_MI(reallocf),
|
MI_INTERPOSE_MI(reallocf),
|
||||||
|
@ -128,11 +130,16 @@ typedef struct mi_nothrow_s { int _tag; } mi_nothrow_t;
|
||||||
// cannot override malloc unless using a dll.
|
// cannot override malloc unless using a dll.
|
||||||
// we just override new/delete which does work in a static library.
|
// we just override new/delete which does work in a static library.
|
||||||
#else
|
#else
|
||||||
// On all other systems forward to our API
|
// On all other systems forward allocation primitives to our API
|
||||||
mi_decl_export void* malloc(size_t size) MI_FORWARD1(mi_malloc, size)
|
mi_decl_export void* malloc(size_t size) MI_FORWARD1(mi_malloc, size)
|
||||||
mi_decl_export void* calloc(size_t size, size_t n) MI_FORWARD2(mi_calloc, size, n)
|
mi_decl_export void* calloc(size_t size, size_t n) MI_FORWARD2(mi_calloc, size, n)
|
||||||
mi_decl_export void* realloc(void* p, size_t newsize) MI_FORWARD2(mi_realloc, p, newsize)
|
mi_decl_export void* realloc(void* p, size_t newsize) MI_FORWARD2(mi_realloc, p, newsize)
|
||||||
mi_decl_export void free(void* p) MI_FORWARD0(mi_free, p)
|
mi_decl_export void free(void* p) MI_FORWARD0(mi_free, p)
|
||||||
|
// In principle we do not need to forward `strdup`/`strndup` but on some systems these do not use `malloc` internally (but a more primitive call)
|
||||||
|
mi_decl_export char* strdup(const char* str) MI_FORWARD1(mi_strdup, str)
|
||||||
|
#if !defined(__APPLE__) || (defined(MAC_OS_X_VERSION_10_7) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7)
|
||||||
|
mi_decl_export char* strndup(const char* str, size_t n) MI_FORWARD2(mi_strndup, str, n)
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (defined(__GNUC__) || defined(__clang__)) && !defined(__APPLE__)
|
#if (defined(__GNUC__) || defined(__clang__)) && !defined(__APPLE__)
|
||||||
|
|
|
@ -225,7 +225,9 @@ static malloc_zone_t mi_malloc_zone = {
|
||||||
// switch to version 9+ on OSX 10.6 to support memalign.
|
// switch to version 9+ on OSX 10.6 to support memalign.
|
||||||
.memalign = &zone_memalign,
|
.memalign = &zone_memalign,
|
||||||
.free_definite_size = &zone_free_definite_size,
|
.free_definite_size = &zone_free_definite_size,
|
||||||
|
#if defined(MAC_OS_X_VERSION_10_7) && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7)
|
||||||
.pressure_relief = &zone_pressure_relief,
|
.pressure_relief = &zone_pressure_relief,
|
||||||
|
#endif
|
||||||
#if defined(MAC_OS_X_VERSION_10_14) && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_14)
|
#if defined(MAC_OS_X_VERSION_10_14) && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_14)
|
||||||
.claimed_address = &zone_claimed_address,
|
.claimed_address = &zone_claimed_address,
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue