restructure header files

This commit is contained in:
Daan Leijen 2023-03-20 10:37:39 -07:00
parent 6ae6c42700
commit f58357548c
28 changed files with 60 additions and 58 deletions

View file

@ -209,15 +209,16 @@
</PostBuildEvent> </PostBuildEvent>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="$(ProjectDir)..\..\include\mimalloc-internal.h" />
<ClInclude Include="$(ProjectDir)..\..\include\mimalloc.h" /> <ClInclude Include="$(ProjectDir)..\..\include\mimalloc.h" />
<ClInclude Include="..\..\include\mimalloc-atomic.h" />
<ClInclude Include="..\..\include\mimalloc-etw-gen.h" /> <ClInclude Include="..\..\include\mimalloc-etw-gen.h" />
<ClInclude Include="..\..\include\mimalloc-etw.h" /> <ClInclude Include="..\..\include\mimalloc-etw.h" />
<ClInclude Include="..\..\include\mimalloc-new-delete.h" /> <ClInclude Include="..\..\include\mimalloc-new-delete.h" />
<ClInclude Include="..\..\include\mimalloc-override.h" /> <ClInclude Include="..\..\include\mimalloc-override.h" />
<ClInclude Include="..\..\include\mimalloc-track.h" /> <ClInclude Include="..\..\include\mimalloc\atomic.h" />
<ClInclude Include="..\..\include\mimalloc-types.h" /> <ClInclude Include="..\..\include\mimalloc\internal.h" />
<ClInclude Include="..\..\include\mimalloc\prim.h" />
<ClInclude Include="..\..\include\mimalloc\track.h" />
<ClInclude Include="..\..\include\mimalloc\types.h" />
<ClInclude Include="..\..\src\bitmap.h" /> <ClInclude Include="..\..\src\bitmap.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View file

@ -241,14 +241,15 @@
<ClCompile Include="..\..\src\stats.c" /> <ClCompile Include="..\..\src\stats.c" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="$(ProjectDir)..\..\include\mimalloc-internal.h" />
<ClInclude Include="$(ProjectDir)..\..\include\mimalloc.h" /> <ClInclude Include="$(ProjectDir)..\..\include\mimalloc.h" />
<ClInclude Include="$(ProjectDir)..\..\include\mimalloc-atomic.h" />
<ClInclude Include="$(ProjectDir)..\..\include\mimalloc-override.h" /> <ClInclude Include="$(ProjectDir)..\..\include\mimalloc-override.h" />
<ClInclude Include="$(ProjectDir)..\..\include\mimalloc-types.h" />
<ClInclude Include="..\..\include\mimalloc-etw.h" /> <ClInclude Include="..\..\include\mimalloc-etw.h" />
<ClInclude Include="..\..\include\mimalloc-new-delete.h" /> <ClInclude Include="..\..\include\mimalloc-new-delete.h" />
<ClInclude Include="..\..\include\mimalloc-track.h" /> <ClInclude Include="..\..\include\mimalloc\atomic.h" />
<ClInclude Include="..\..\include\mimalloc\internal.h" />
<ClInclude Include="..\..\include\mimalloc\prim.h" />
<ClInclude Include="..\..\include\mimalloc\track.h" />
<ClInclude Include="..\..\include\mimalloc\types.h" />
<ClInclude Include="..\..\src\bitmap.h" /> <ClInclude Include="..\..\src\bitmap.h" />
</ItemGroup> </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

View file

@ -8,8 +8,8 @@ terms of the MIT license. A copy of the license can be found in the file
#ifndef MIMALLOC_INTERNAL_H #ifndef MIMALLOC_INTERNAL_H
#define MIMALLOC_INTERNAL_H #define MIMALLOC_INTERNAL_H
#include "mimalloc-types.h" #include "mimalloc/types.h"
#include "mimalloc-track.h" #include "mimalloc/track.h"
#if (MI_DEBUG>0) #if (MI_DEBUG>0)
#define mi_trace_message(...) _mi_trace_message(__VA_ARGS__) #define mi_trace_message(...) _mi_trace_message(__VA_ARGS__)

View file

@ -10,7 +10,7 @@ terms of the MIT license. A copy of the license can be found in the file
#include <stddef.h> // ptrdiff_t #include <stddef.h> // ptrdiff_t
#include <stdint.h> // uintptr_t, uint16_t, etc #include <stdint.h> // uintptr_t, uint16_t, etc
#include "mimalloc-atomic.h" // _Atomic #include "mimalloc/atomic.h" // _Atomic
#ifdef _MSC_VER #ifdef _MSC_VER
#pragma warning(disable:4214) // bitfield is not int #pragma warning(disable:4214) // bitfield is not int

View file

@ -6,8 +6,8 @@ terms of the MIT license. A copy of the license can be found in the file
-----------------------------------------------------------------------------*/ -----------------------------------------------------------------------------*/
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
#include "prim/prim.h" // mi_prim_get_default_heap #include "mimalloc/prim.h" // mi_prim_get_default_heap
#include <string.h> // memset #include <string.h> // memset

View file

@ -6,7 +6,7 @@ terms of the MIT license. A copy of the license can be found in the file
-----------------------------------------------------------------------------*/ -----------------------------------------------------------------------------*/
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
#if defined(MI_MALLOC_OVERRIDE) #if defined(MI_MALLOC_OVERRIDE)

View file

@ -10,7 +10,7 @@ terms of the MIT license. A copy of the license can be found in the file
// for convenience and used when overriding these functions. // for convenience and used when overriding these functions.
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
// ------------------------------------------------------ // ------------------------------------------------------
// Posix & Unix functions definitions // Posix & Unix functions definitions

View file

@ -9,9 +9,9 @@ terms of the MIT license. A copy of the license can be found in the file
#endif #endif
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
#include "mimalloc-atomic.h" #include "mimalloc/atomic.h"
#include "prim/prim.h" // _mi_prim_thread_id() #include "mimalloc/prim.h" // _mi_prim_thread_id()
#include <string.h> // memset, strlen (for mi_strdup) #include <string.h> // memset, strlen (for mi_strdup)
#include <stdlib.h> // malloc, abort #include <stdlib.h> // malloc, abort
@ -40,7 +40,7 @@ extern inline void* _mi_page_malloc(mi_heap_t* heap, mi_page_t* page, size_t siz
// allow use of the block internally // allow use of the block internally
// note: when tracking we need to avoid ever touching the MI_PADDING since // note: when tracking we need to avoid ever touching the MI_PADDING since
// that is tracked by valgrind etc. as non-accessible (through the red-zone, see `mimalloc-track.h`) // that is tracked by valgrind etc. as non-accessible (through the red-zone, see `mimalloc/track.h`)
mi_track_mem_undefined(block, mi_page_usable_block_size(page)); mi_track_mem_undefined(block, mi_page_usable_block_size(page));
// zero the block? note: we need to zero the full block size (issue #63) // zero the block? note: we need to zero the full block size (issue #63)

View file

@ -21,8 +21,8 @@ which is sometimes needed for embedded devices or shared memory for example.
The arena allocation needs to be thread safe and we use an atomic bitmap to allocate. The arena allocation needs to be thread safe and we use an atomic bitmap to allocate.
-----------------------------------------------------------------------------*/ -----------------------------------------------------------------------------*/
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
#include "mimalloc-atomic.h" #include "mimalloc/atomic.h"
#include <string.h> // memset #include <string.h> // memset
#include <errno.h> // ENOMEM #include <errno.h> // ENOMEM

View file

@ -18,7 +18,7 @@ between the fields. (This is used in arena allocation)
---------------------------------------------------------------------------- */ ---------------------------------------------------------------------------- */
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
#include "bitmap.h" #include "bitmap.h"
/* ----------------------------------------------------------- /* -----------------------------------------------------------

View file

@ -6,10 +6,9 @@ terms of the MIT license. A copy of the license can be found in the file
-----------------------------------------------------------------------------*/ -----------------------------------------------------------------------------*/
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
#include "mimalloc-atomic.h" #include "mimalloc/atomic.h"
#include "mimalloc-track.h" #include "mimalloc/prim.h" // mi_prim_get_default_heap
#include "prim/prim.h" // mi_prim_get_default_heap
#include <string.h> // memset, memcpy #include <string.h> // memset, memcpy

View file

@ -5,8 +5,8 @@ terms of the MIT license. A copy of the license can be found in the file
"LICENSE" at the root of this distribution. "LICENSE" at the root of this distribution.
-----------------------------------------------------------------------------*/ -----------------------------------------------------------------------------*/
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
#include "prim/prim.h" #include "mimalloc/prim.h"
#include <string.h> // memcpy, memset #include <string.h> // memcpy, memset
#include <stdlib.h> // atexit #include <stdlib.h> // atexit

View file

@ -5,9 +5,9 @@ terms of the MIT license. A copy of the license can be found in the file
"LICENSE" at the root of this distribution. "LICENSE" at the root of this distribution.
-----------------------------------------------------------------------------*/ -----------------------------------------------------------------------------*/
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
#include "mimalloc-atomic.h" #include "mimalloc/atomic.h"
#include "prim/prim.h" // mi_prim_out_stderr #include "mimalloc/prim.h" // mi_prim_out_stderr
#include <stdio.h> // FILE #include <stdio.h> // FILE
#include <stdlib.h> // abort #include <stdlib.h> // abort

View file

@ -5,9 +5,9 @@ terms of the MIT license. A copy of the license can be found in the file
"LICENSE" at the root of this distribution. "LICENSE" at the root of this distribution.
-----------------------------------------------------------------------------*/ -----------------------------------------------------------------------------*/
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
#include "mimalloc-atomic.h" #include "mimalloc/atomic.h"
#include "prim/prim.h" #include "mimalloc/prim.h"
/* ----------------------------------------------------------- /* -----------------------------------------------------------

View file

@ -12,8 +12,8 @@ terms of the MIT license. A copy of the license can be found in the file
----------------------------------------------------------- */ ----------------------------------------------------------- */
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
#include "mimalloc-atomic.h" #include "mimalloc/atomic.h"
/* ----------------------------------------------------------- /* -----------------------------------------------------------
Definition of page queues for each block size Definition of page queues for each block size

View file

@ -21,9 +21,9 @@ terms of the MIT license. A copy of the license can be found in the file
#endif #endif
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
#include "mimalloc-atomic.h" #include "mimalloc/atomic.h"
#include "../prim.h" #include "mimalloc/prim.h"
#include <sys/mman.h> // mmap #include <sys/mman.h> // mmap
#include <unistd.h> // sysconf #include <unistd.h> // sysconf

View file

@ -8,9 +8,9 @@ terms of the MIT license. A copy of the license can be found in the file
// This file is included in `src/prim/prim.c` // This file is included in `src/prim/prim.c`
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
#include "mimalloc-atomic.h" #include "mimalloc/atomic.h"
#include "../prim.h" #include "mimalloc/prim.h"
//--------------------------------------------- //---------------------------------------------
// Initialize // Initialize

View file

@ -8,9 +8,9 @@ terms of the MIT license. A copy of the license can be found in the file
// This file is included in `src/prim/prim.c` // This file is included in `src/prim/prim.c`
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
#include "mimalloc-atomic.h" #include "mimalloc/atomic.h"
#include "../prim.h" #include "mimalloc/prim.h"
#include <string.h> // strerror #include <string.h> // strerror
#include <stdio.h> // fputs, stderr #include <stdio.h> // fputs, stderr
@ -157,6 +157,7 @@ void _mi_prim_mem_init( mi_os_mem_config_t* config )
//--------------------------------------------- //---------------------------------------------
int _mi_prim_free(void* addr, size_t size ) { int _mi_prim_free(void* addr, size_t size ) {
MI_UNUSED(size);
DWORD errcode = 0; DWORD errcode = 0;
bool err = (VirtualFree(addr, 0, MEM_RELEASE) == 0); bool err = (VirtualFree(addr, 0, MEM_RELEASE) == 0);
if (err) { errcode = GetLastError(); } if (err) { errcode = GetLastError(); }

View file

@ -5,8 +5,8 @@ terms of the MIT license. A copy of the license can be found in the file
"LICENSE" at the root of this distribution. "LICENSE" at the root of this distribution.
-----------------------------------------------------------------------------*/ -----------------------------------------------------------------------------*/
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
#include "prim/prim.h" // _mi_prim_random_buf #include "mimalloc/prim.h" // _mi_prim_random_buf
#include <string.h> // memset #include <string.h> // memset
/* ---------------------------------------------------------------------------- /* ----------------------------------------------------------------------------

View file

@ -32,8 +32,8 @@ Possible issues:
do this better without adding too much complexity? do this better without adding too much complexity?
-----------------------------------------------------------------------------*/ -----------------------------------------------------------------------------*/
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
#include "mimalloc-atomic.h" #include "mimalloc/atomic.h"
#include <string.h> // memset #include <string.h> // memset

View file

@ -5,8 +5,8 @@ terms of the MIT license. A copy of the license can be found in the file
"LICENSE" at the root of this distribution. "LICENSE" at the root of this distribution.
-----------------------------------------------------------------------------*/ -----------------------------------------------------------------------------*/
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
#include "mimalloc-atomic.h" #include "mimalloc/atomic.h"
#include <string.h> // memset #include <string.h> // memset
#include <stdio.h> #include <stdio.h>

View file

@ -14,7 +14,7 @@ terms of the MIT license. A copy of the license can be found in the file
#endif #endif
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
// For a static override we create a single object file // For a static override we create a single object file
// containing the whole library. If it is linked first // containing the whole library. If it is linked first

View file

@ -5,9 +5,9 @@ terms of the MIT license. A copy of the license can be found in the file
"LICENSE" at the root of this distribution. "LICENSE" at the root of this distribution.
-----------------------------------------------------------------------------*/ -----------------------------------------------------------------------------*/
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-internal.h" #include "mimalloc/internal.h"
#include "mimalloc-atomic.h" #include "mimalloc/atomic.h"
#include "prim/prim.h" #include "mimalloc/prim.h"
#include <stdio.h> // snprintf #include <stdio.h> // snprintf
#include <string.h> // memset #include <string.h> // memset

View file

@ -5,7 +5,7 @@ terms of the MIT license. A copy of the license can be found in the file
"LICENSE" at the root of this distribution. "LICENSE" at the root of this distribution.
-----------------------------------------------------------------------------*/ -----------------------------------------------------------------------------*/
#include "mimalloc.h" #include "mimalloc.h"
#include "mimalloc-types.h" #include "mimalloc/types.h"
#include "testhelper.h" #include "testhelper.h"

View file

@ -33,8 +33,8 @@ we therefore test the API over various inputs. Please add more tests :-)
#endif #endif
#include "mimalloc.h" #include "mimalloc.h"
// #include "mimalloc-internal.h" // #include "mimalloc/internal.h"
#include "mimalloc-types.h" // for MI_DEBUG and MI_ALIGNMENT_MAX #include "mimalloc/types.h" // for MI_DEBUG and MI_ALIGNMENT_MAX
#include "testhelper.h" #include "testhelper.h"