mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-07-01 09:14: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")
|
||||
|
||||
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-aligned.c
|
||||
src/alloc-posix.c
|
||||
src/arena.c
|
||||
src/bitmap.c
|
||||
src/heap.c
|
||||
src/options.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)
|
||||
|
||||
set(mi_cflags "")
|
||||
|
@ -92,7 +92,7 @@ if(MI_OVERRIDE)
|
|||
if(MI_OSX_ZONE)
|
||||
# use zone's on macOS
|
||||
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)
|
||||
if (NOT MI_OSX_INTERPOSE)
|
||||
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)
|
||||
#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__)
|
||||
#define MI_USE_SBRK
|
||||
#include "wasi/prim.c" // memory-grow or sbrk (Wasm)
|
||||
|
||||
#else
|
||||
#include "unix/prim.c" // mmap() (Linux, macOSX, BSD, Illumnos, Haiku, DragonFly, etc.)
|
||||
|
||||
#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
|
||||
// it will override all the standard library allocation
|
||||
// functions (on Unix's).
|
||||
#include "alloc.c"
|
||||
#include "alloc.c" // includes alloc-override.c
|
||||
#include "alloc-aligned.c"
|
||||
#if MI_OSX_ZONE
|
||||
#include "alloc-override-osx.c"
|
||||
#endif
|
||||
#include "alloc-posix.c"
|
||||
#include "arena.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 "options.c"
|
||||
#include "os.c"
|
||||
#include "page.c"
|
||||
#include "prim/prim.c"
|
||||
#include "random.c"
|
||||
#include "page.c" // includes page-queue.c
|
||||
#include "random.c"
|
||||
#include "region.c"
|
||||
#include "segment.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