mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-07-01 17:24:38 +03:00
add prim/osx directory
This commit is contained in:
parent
f58357548c
commit
c0c762611c
5 changed files with 32 additions and 17 deletions
|
@ -38,20 +38,20 @@ include(GNUInstallDirs)
|
||||||
include("cmake/mimalloc-config-version.cmake")
|
include("cmake/mimalloc-config-version.cmake")
|
||||||
|
|
||||||
set(mi_sources
|
set(mi_sources
|
||||||
src/stats.c
|
|
||||||
src/random.c
|
|
||||||
src/os.c
|
|
||||||
src/bitmap.c
|
|
||||||
src/arena.c
|
|
||||||
src/region.c
|
|
||||||
src/segment.c
|
|
||||||
src/page.c
|
|
||||||
src/alloc.c
|
src/alloc.c
|
||||||
src/alloc-aligned.c
|
src/alloc-aligned.c
|
||||||
src/alloc-posix.c
|
src/alloc-posix.c
|
||||||
|
src/arena.c
|
||||||
|
src/bitmap.c
|
||||||
src/heap.c
|
src/heap.c
|
||||||
src/options.c
|
|
||||||
src/init.c
|
src/init.c
|
||||||
|
src/options.c
|
||||||
|
src/os.c
|
||||||
|
src/page.c
|
||||||
|
src/random.c
|
||||||
|
src/region.c
|
||||||
|
src/segment.c
|
||||||
|
src/stats.c
|
||||||
src/prim/prim.c)
|
src/prim/prim.c)
|
||||||
|
|
||||||
set(mi_cflags "")
|
set(mi_cflags "")
|
||||||
|
@ -92,7 +92,7 @@ if(MI_OVERRIDE)
|
||||||
if(MI_OSX_ZONE)
|
if(MI_OSX_ZONE)
|
||||||
# use zone's on macOS
|
# use zone's on macOS
|
||||||
message(STATUS " Use malloc zone to override malloc (MI_OSX_ZONE=ON)")
|
message(STATUS " Use malloc zone to override malloc (MI_OSX_ZONE=ON)")
|
||||||
list(APPEND mi_sources src/alloc-override-osx.c)
|
list(APPEND mi_sources src/prim/osx/alloc-override-zone.c)
|
||||||
list(APPEND mi_defines MI_OSX_ZONE=1)
|
list(APPEND mi_defines MI_OSX_ZONE=1)
|
||||||
if (NOT MI_OSX_INTERPOSE)
|
if (NOT MI_OSX_INTERPOSE)
|
||||||
message(STATUS " WARNING: zone overriding usually also needs interpose (use -DMI_OSX_INTERPOSE=ON)")
|
message(STATUS " WARNING: zone overriding usually also needs interpose (use -DMI_OSX_INTERPOSE=ON)")
|
||||||
|
|
9
src/prim/osx/prim.c
Normal file
9
src/prim/osx/prim.c
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
/* ----------------------------------------------------------------------------
|
||||||
|
Copyright (c) 2018-2023, Microsoft Research, Daan Leijen
|
||||||
|
This is free software; you can redistribute it and/or modify it under the
|
||||||
|
terms of the MIT license. A copy of the license can be found in the file
|
||||||
|
"LICENSE" at the root of this distribution.
|
||||||
|
-----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
// We use the unix/prim.c with the mmap API on macOSX
|
||||||
|
#include "../unix/prim.c"
|
|
@ -10,9 +10,15 @@ terms of the MIT license. A copy of the license can be found in the file
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
#include "windows/prim.c" // VirtualAlloc (Windows)
|
#include "windows/prim.c" // VirtualAlloc (Windows)
|
||||||
|
|
||||||
|
#elif defined(__APPLE__)
|
||||||
|
#include "osx/prim.c" // macOSX (actually defers to mmap in unix/prim.c)
|
||||||
|
|
||||||
#elif defined(__wasi__)
|
#elif defined(__wasi__)
|
||||||
#define MI_USE_SBRK
|
#define MI_USE_SBRK
|
||||||
#include "wasi/prim.c" // memory-grow or sbrk (Wasm)
|
#include "wasi/prim.c" // memory-grow or sbrk (Wasm)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#include "unix/prim.c" // mmap() (Linux, macOSX, BSD, Illumnos, Haiku, DragonFly, etc.)
|
#include "unix/prim.c" // mmap() (Linux, macOSX, BSD, Illumnos, Haiku, DragonFly, etc.)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
14
src/static.c
14
src/static.c
|
@ -20,11 +20,8 @@ terms of the MIT license. A copy of the license can be found in the file
|
||||||
// containing the whole library. If it is linked first
|
// containing the whole library. If it is linked first
|
||||||
// it will override all the standard library allocation
|
// it will override all the standard library allocation
|
||||||
// functions (on Unix's).
|
// functions (on Unix's).
|
||||||
#include "alloc.c"
|
#include "alloc.c" // includes alloc-override.c
|
||||||
#include "alloc-aligned.c"
|
#include "alloc-aligned.c"
|
||||||
#if MI_OSX_ZONE
|
|
||||||
#include "alloc-override-osx.c"
|
|
||||||
#endif
|
|
||||||
#include "alloc-posix.c"
|
#include "alloc-posix.c"
|
||||||
#include "arena.c"
|
#include "arena.c"
|
||||||
#include "bitmap.c"
|
#include "bitmap.c"
|
||||||
|
@ -32,9 +29,12 @@ terms of the MIT license. A copy of the license can be found in the file
|
||||||
#include "init.c"
|
#include "init.c"
|
||||||
#include "options.c"
|
#include "options.c"
|
||||||
#include "os.c"
|
#include "os.c"
|
||||||
#include "page.c"
|
#include "page.c" // includes page-queue.c
|
||||||
#include "prim/prim.c"
|
#include "random.c"
|
||||||
#include "random.c"
|
|
||||||
#include "region.c"
|
#include "region.c"
|
||||||
#include "segment.c"
|
#include "segment.c"
|
||||||
#include "stats.c"
|
#include "stats.c"
|
||||||
|
#include "prim/prim.c"
|
||||||
|
#if MI_OSX_ZONE
|
||||||
|
#include "prim/osx/alloc-override-zone.c"
|
||||||
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue