Skip to content

Commit 800034c

Browse files
committed
refactor arena abandonment in a separate file
1 parent 96b69d7 commit 800034c

File tree

9 files changed

+466
-395
lines changed

9 files changed

+466
-395
lines changed

CMakeLists.txt

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ set(mi_sources
4545
src/alloc-aligned.c
4646
src/alloc-posix.c
4747
src/arena.c
48+
src/arena-abandoned.c
4849
src/bitmap.c
4950
src/heap.c
5051
src/init.c
@@ -61,7 +62,7 @@ set(mi_sources
6162
set(mi_cflags "")
6263
set(mi_cflags_static "") # extra flags for a static library build
6364
set(mi_cflags_dynamic "") # extra flags for a shared-object library build
64-
set(mi_defines "")
65+
set(mi_defines "")
6566
set(mi_libraries "")
6667

6768
# -----------------------------------------------------------------------------
@@ -327,7 +328,7 @@ if(CMAKE_C_COMPILER_ID MATCHES "AppleClang|Clang|GNU|Intel" AND NOT CMAKE_SYSTEM
327328
list(APPEND mi_cflags_dynamic -ftls-model=initial-exec)
328329
message(STATUS "Use local dynamic TLS for the static build (since MI_LIBC_MUSL=ON)")
329330
else()
330-
list(APPEND mi_cflags -ftls-model=initial-exec)
331+
list(APPEND mi_cflags -ftls-model=initial-exec)
331332
endif()
332333
endif()
333334
if(MI_OVERRIDE)
@@ -345,18 +346,18 @@ endif()
345346

346347
# extra needed libraries
347348

348-
# we prefer -l<lib> test over `find_library` as sometimes core libraries
349+
# we prefer -l<lib> test over `find_library` as sometimes core libraries
349350
# like `libatomic` are not on the system path (see issue #898)
350-
function(find_link_library libname outlibname)
351-
check_linker_flag(C "-l${libname}" mi_has_lib${libname})
351+
function(find_link_library libname outlibname)
352+
check_linker_flag(C "-l${libname}" mi_has_lib${libname})
352353
if (mi_has_lib${libname})
353354
message(VERBOSE "link library: -l${libname}")
354-
set(${outlibname} ${libname} PARENT_SCOPE)
355+
set(${outlibname} ${libname} PARENT_SCOPE)
355356
else()
356357
find_library(MI_LIBPATH libname)
357358
if (MI_LIBPATH)
358359
message(VERBOSE "link library ${libname} at ${MI_LIBPATH}")
359-
set(${outlibname} ${MI_LIBPATH} PARENT_SCOPE)
360+
set(${outlibname} ${MI_LIBPATH} PARENT_SCOPE)
360361
else()
361362
message(VERBOSE "link library not found: ${libname}")
362363
set(${outlibname} "" PARENT_SCOPE)
@@ -365,19 +366,19 @@ function(find_link_library libname outlibname)
365366
endfunction()
366367

367368
if(WIN32)
368-
list(APPEND mi_libraries psapi shell32 user32 advapi32 bcrypt)
369+
list(APPEND mi_libraries psapi shell32 user32 advapi32 bcrypt)
369370
else()
370371
find_link_library("pthread" MI_LIB_PTHREAD)
371-
if(MI_LIB_PTHREAD)
372+
if(MI_LIB_PTHREAD)
372373
list(APPEND mi_libraries "${MI_LIB_PTHREAD}")
373374
endif()
374375
find_link_library("rt" MI_LIB_RT)
375-
if(MI_LIB_RT)
376+
if(MI_LIB_RT)
376377
list(APPEND mi_libraries "${MI_LIB_RT}")
377378
endif()
378379
find_link_library("atomic" MI_LIB_ATOMIC)
379-
if(MI_LIB_ATOMIC)
380-
list(APPEND mi_libraries "${MI_LIB_ATOMIC}")
380+
if(MI_LIB_ATOMIC)
381+
list(APPEND mi_libraries "${MI_LIB_ATOMIC}")
381382
endif()
382383
endif()
383384

ide/vs2022/mimalloc-override.vcxproj

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,16 @@
236236
</ClCompile>
237237
<ClCompile Include="..\..\src\alloc-posix.c" />
238238
<ClCompile Include="..\..\src\alloc.c" />
239+
<ClCompile Include="..\..\src\arena-abandoned.c">
240+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
241+
</ExcludedFromBuild>
242+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
243+
</ExcludedFromBuild>
244+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
245+
</ExcludedFromBuild>
246+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
247+
</ExcludedFromBuild>
248+
</ClCompile>
239249
<ClCompile Include="..\..\src\arena.c" />
240250
<ClCompile Include="..\..\src\bitmap.c" />
241251
<ClCompile Include="..\..\src\heap.c" />

ide/vs2022/mimalloc-override.vcxproj.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@
5858
<ClCompile Include="..\..\src\libc.c">
5959
<Filter>Sources</Filter>
6060
</ClCompile>
61+
<ClCompile Include="..\..\src\arena-abandoned.c">
62+
<Filter>Sources</Filter>
63+
</ClCompile>
6164
</ItemGroup>
6265
<ItemGroup>
6366
<ClInclude Include="..\..\include\mimalloc\atomic.h">

ide/vs2022/mimalloc.vcxproj

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,16 @@
213213
</ClCompile>
214214
<ClCompile Include="..\..\src\alloc-posix.c" />
215215
<ClCompile Include="..\..\src\alloc.c" />
216+
<ClCompile Include="..\..\src\arena-abandoned.c">
217+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
218+
</ExcludedFromBuild>
219+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
220+
</ExcludedFromBuild>
221+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
222+
</ExcludedFromBuild>
223+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
224+
</ExcludedFromBuild>
225+
</ClCompile>
216226
<ClCompile Include="..\..\src\arena.c" />
217227
<ClCompile Include="..\..\src\bitmap.c">
218228
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
@@ -256,6 +266,7 @@
256266
<ClInclude Include="..\..\include\mimalloc\prim.h" />
257267
<ClInclude Include="..\..\include\mimalloc\track.h" />
258268
<ClInclude Include="..\..\include\mimalloc\types.h" />
269+
<ClInclude Include="..\..\src\arena.h" />
259270
<ClInclude Include="..\..\src\bitmap.h" />
260271
</ItemGroup>
261272
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

ide/vs2022/mimalloc.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@
6161
<ClCompile Include="..\..\src\free.c">
6262
<Filter>Sources</Filter>
6363
</ClCompile>
64+
<ClCompile Include="..\..\src\arena-abandoned.c">
65+
<Filter>Sources</Filter>
66+
</ClCompile>
6467
</ItemGroup>
6568
<ItemGroup>
6669
<ClInclude Include="..\..\src\bitmap.h">
@@ -90,6 +93,9 @@
9093
<ClInclude Include="..\..\include\mimalloc\prim.h">
9194
<Filter>Headers</Filter>
9295
</ClInclude>
96+
<ClInclude Include="..\..\src\arena.h">
97+
<Filter>Headers</Filter>
98+
</ClInclude>
9399
</ItemGroup>
94100
<ItemGroup>
95101
<Filter Include="Headers">

0 commit comments

Comments
 (0)