add prim/osx directory

This commit is contained in:
Daan Leijen 2023-03-20 10:49:56 -07:00
parent f58357548c
commit c0c762611c
5 changed files with 32 additions and 17 deletions

9
src/prim/osx/prim.c Normal file
View 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"

View file

@ -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

View file

@ -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