Skip to content

Commit

Permalink
gh-90815: Exclude mimalloc .c files from Windows build (#111532)
Browse files Browse the repository at this point in the history
* Don't include mimalloc .c's in Windows build
* Fix warnings on Windows related to mimalloc
  • Loading branch information
DinoV committed Oct 31, 2023
1 parent 2445673 commit c42347d
Show file tree
Hide file tree
Showing 6 changed files with 13 additions and 121 deletions.
19 changes: 10 additions & 9 deletions Objects/obmalloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -2730,22 +2730,23 @@ static bool _collect_alloc_stats(
static void
py_mimalloc_print_stats(FILE *out)
{
fprintf(out, "Small block threshold = %ld, in %u size classes.\n",
fprintf(out, "Small block threshold = %zd, in %u size classes.\n",
MI_SMALL_OBJ_SIZE_MAX, MI_BIN_HUGE);
fprintf(out, "Medium block threshold = %ld\n",
fprintf(out, "Medium block threshold = %zd\n",
MI_MEDIUM_OBJ_SIZE_MAX);
fprintf(out, "Large object max size = %ld\n",
fprintf(out, "Large object max size = %zd\n",
MI_LARGE_OBJ_SIZE_MAX);

mi_heap_t *heap = mi_heap_get_default();
struct _alloc_stats stats = {};
struct _alloc_stats stats;
memset(&stats, 0, sizeof(stats));
mi_heap_visit_blocks(heap, false, &_collect_alloc_stats, &stats);

fprintf(out, " Allocated Blocks: %ld\n", stats.allocated_blocks);
fprintf(out, " Allocated Bytes: %ld\n", stats.allocated_bytes);
fprintf(out, " Allocated Bytes w/ Overhead: %ld\n", stats.allocated_with_overhead);
fprintf(out, " Bytes Reserved: %ld\n", stats.bytes_reserved);
fprintf(out, " Bytes Committed: %ld\n", stats.bytes_committed);
fprintf(out, " Allocated Blocks: %zd\n", stats.allocated_blocks);
fprintf(out, " Allocated Bytes: %zd\n", stats.allocated_bytes);
fprintf(out, " Allocated Bytes w/ Overhead: %zd\n", stats.allocated_with_overhead);
fprintf(out, " Bytes Reserved: %zd\n", stats.bytes_reserved);
fprintf(out, " Bytes Committed: %zd\n", stats.bytes_committed);
}
#endif

Expand Down
3 changes: 3 additions & 0 deletions PC/pyconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -511,6 +511,9 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */
/* Use Python's own small-block memory-allocator. */
#define WITH_PYMALLOC 1

/* Define if you want to compile in mimalloc memory allocator. */
#define WITH_MIMALLOC 1

/* Define if you want to compile in object freelists optimization */
#define WITH_FREELISTS 1

Expand Down
14 changes: 0 additions & 14 deletions PCbuild/_freeze_module.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -147,20 +147,6 @@
<ClCompile Include="..\Objects\longobject.c" />
<ClCompile Include="..\Objects\memoryobject.c" />
<ClCompile Include="..\Objects\methodobject.c" />
<ClCompile Include="..\Objects\mimalloc\alloc-aligned.c" />
<ClCompile Include="..\Objects\mimalloc\alloc.c" />
<ClCompile Include="..\Objects\mimalloc\arena.c" />
<ClCompile Include="..\Objects\mimalloc\bitmap.c" />
<ClCompile Include="..\Objects\mimalloc\heap.c" />
<ClCompile Include="..\Objects\mimalloc\init.c" />
<ClCompile Include="..\Objects\mimalloc\options.c" />
<ClCompile Include="..\Objects\mimalloc\os.c" />
<ClCompile Include="..\Objects\mimalloc\page.c" />
<ClCompile Include="..\Objects\mimalloc\prim\prim.c" />
<ClCompile Include="..\Objects\mimalloc\random.c" />
<ClCompile Include="..\Objects\mimalloc\segment.c" />
<ClCompile Include="..\Objects\mimalloc\segment-map.c" />
<ClCompile Include="..\Objects\mimalloc\stats.c" />
<ClCompile Include="..\Objects\moduleobject.c" />
<ClCompile Include="..\Objects\namespaceobject.c" />
<ClCompile Include="..\Objects\object.c" />
Expand Down
42 changes: 0 additions & 42 deletions PCbuild/_freeze_module.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -253,48 +253,6 @@
<ClCompile Include="..\Objects\methodobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\mimalloc\alloc-aligned.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\alloc.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\arena.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\bitmap.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\heap.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\init.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\options.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\os.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\page.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\prim\prim.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\random.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\segment.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\segment-map.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\stats.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Python\modsupport.c">
<Filter>Source Files</Filter>
</ClCompile>
Expand Down
14 changes: 0 additions & 14 deletions PCbuild/pythoncore.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -498,20 +498,6 @@
<ClCompile Include="..\Objects\longobject.c" />
<ClCompile Include="..\Objects\memoryobject.c" />
<ClCompile Include="..\Objects\methodobject.c" />
<ClCompile Include="..\Objects\mimalloc\alloc-aligned.c" />
<ClCompile Include="..\Objects\mimalloc\alloc.c" />
<ClCompile Include="..\Objects\mimalloc\arena.c" />
<ClCompile Include="..\Objects\mimalloc\bitmap.c" />
<ClCompile Include="..\Objects\mimalloc\heap.c" />
<ClCompile Include="..\Objects\mimalloc\init.c" />
<ClCompile Include="..\Objects\mimalloc\options.c" />
<ClCompile Include="..\Objects\mimalloc\os.c" />
<ClCompile Include="..\Objects\mimalloc\page.c" />
<ClCompile Include="..\Objects\mimalloc\prim\prim.c" />
<ClCompile Include="..\Objects\mimalloc\random.c" />
<ClCompile Include="..\Objects\mimalloc\segment.c" />
<ClCompile Include="..\Objects\mimalloc\segment-map.c" />
<ClCompile Include="..\Objects\mimalloc\stats.c" />
<ClCompile Include="..\Objects\moduleobject.c" />
<ClCompile Include="..\Objects\namespaceobject.c" />
<ClCompile Include="..\Objects\object.c" />
Expand Down
42 changes: 0 additions & 42 deletions PCbuild/pythoncore.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -1130,48 +1130,6 @@
<ClCompile Include="..\Objects\methodobject.c">
<Filter>Objects</Filter>
</ClCompile>
<ClCompile Include="..\Objects\mimalloc\alloc.c">
<Filter>Objects\mimalloc</Filter>
</ClCompile>
<ClCompile Include="..\Objects\mimalloc\alloc-aligned.c">
<Filter>Objects\mimalloc</Filter>
</ClCompile>
<ClCompile Include="..\Objects\mimalloc\arena.c">
<Filter>Objects\mimalloc</Filter>
</ClCompile>
<ClCompile Include="..\Objects\mimalloc\bitmap.c">
<Filter>Objects\mimalloc</Filter>
</ClCompile>
<ClCompile Include="..\Objects\mimalloc\heap.c">
<Filter>Objects\mimalloc</Filter>
</ClCompile>
<ClCompile Include="..\Objects\mimalloc\init.c">
<Filter>Objects\mimalloc</Filter>
</ClCompile>
<ClCompile Include="..\Objects\mimalloc\options.c">
<Filter>Objects\mimalloc</Filter>
</ClCompile>
<ClCompile Include="..\Objects\mimalloc\os.c">
<Filter>Objects\mimalloc</Filter>
</ClCompile>
<ClCompile Include="..\Objects\mimalloc\page.c">
<Filter>Objects\mimalloc</Filter>
</ClCompile>
<ClCompile Include="..\Objects\mimalloc\prim\prim.c">
<Filter>Objects\mimalloc</Filter>
</ClCompile>
<ClCompile Include="..\Objects\mimalloc\random.c">
<Filter>Objects\mimalloc</Filter>
</ClCompile>
<ClCompile Include="..\Objects\mimalloc\segment.c">
<Filter>Objects\mimalloc</Filter>
</ClCompile>
<ClCompile Include="..\Objects\mimalloc\segment-map.c">
<Filter>Objects\mimalloc</Filter>
</ClCompile>
<ClCompile Include="..\Objects\mimalloc\stats.c">
<Filter>Objects\mimalloc</Filter>
</ClCompile>
<ClCompile Include="..\Objects\moduleobject.c">
<Filter>Objects</Filter>
</ClCompile>
Expand Down

0 comments on commit c42347d

Please sign in to comment.