Skip to content

Commit 51bd65b

Browse files
DinoVaisk
authored andcommittedFeb 11, 2024
pythongh-90815: Exclude mimalloc .c files from Windows build (python#111532)
* Don't include mimalloc .c's in Windows build * Fix warnings on Windows related to mimalloc
1 parent 3aa8f75 commit 51bd65b

6 files changed

+13
-121
lines changed
 

‎Objects/obmalloc.c

+10-9
Original file line numberDiff line numberDiff line change
@@ -2730,22 +2730,23 @@ static bool _collect_alloc_stats(
27302730
static void
27312731
py_mimalloc_print_stats(FILE *out)
27322732
{
2733-
fprintf(out, "Small block threshold = %ld, in %u size classes.\n",
2733+
fprintf(out, "Small block threshold = %zd, in %u size classes.\n",
27342734
MI_SMALL_OBJ_SIZE_MAX, MI_BIN_HUGE);
2735-
fprintf(out, "Medium block threshold = %ld\n",
2735+
fprintf(out, "Medium block threshold = %zd\n",
27362736
MI_MEDIUM_OBJ_SIZE_MAX);
2737-
fprintf(out, "Large object max size = %ld\n",
2737+
fprintf(out, "Large object max size = %zd\n",
27382738
MI_LARGE_OBJ_SIZE_MAX);
27392739

27402740
mi_heap_t *heap = mi_heap_get_default();
2741-
struct _alloc_stats stats = {};
2741+
struct _alloc_stats stats;
2742+
memset(&stats, 0, sizeof(stats));
27422743
mi_heap_visit_blocks(heap, false, &_collect_alloc_stats, &stats);
27432744

2744-
fprintf(out, " Allocated Blocks: %ld\n", stats.allocated_blocks);
2745-
fprintf(out, " Allocated Bytes: %ld\n", stats.allocated_bytes);
2746-
fprintf(out, " Allocated Bytes w/ Overhead: %ld\n", stats.allocated_with_overhead);
2747-
fprintf(out, " Bytes Reserved: %ld\n", stats.bytes_reserved);
2748-
fprintf(out, " Bytes Committed: %ld\n", stats.bytes_committed);
2745+
fprintf(out, " Allocated Blocks: %zd\n", stats.allocated_blocks);
2746+
fprintf(out, " Allocated Bytes: %zd\n", stats.allocated_bytes);
2747+
fprintf(out, " Allocated Bytes w/ Overhead: %zd\n", stats.allocated_with_overhead);
2748+
fprintf(out, " Bytes Reserved: %zd\n", stats.bytes_reserved);
2749+
fprintf(out, " Bytes Committed: %zd\n", stats.bytes_committed);
27492750
}
27502751
#endif
27512752

‎PC/pyconfig.h

+3
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,9 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */
511511
/* Use Python's own small-block memory-allocator. */
512512
#define WITH_PYMALLOC 1
513513

514+
/* Define if you want to compile in mimalloc memory allocator. */
515+
#define WITH_MIMALLOC 1
516+
514517
/* Define if you want to compile in object freelists optimization */
515518
#define WITH_FREELISTS 1
516519

‎PCbuild/_freeze_module.vcxproj

-14
Original file line numberDiff line numberDiff line change
@@ -147,20 +147,6 @@
147147
<ClCompile Include="..\Objects\longobject.c" />
148148
<ClCompile Include="..\Objects\memoryobject.c" />
149149
<ClCompile Include="..\Objects\methodobject.c" />
150-
<ClCompile Include="..\Objects\mimalloc\alloc-aligned.c" />
151-
<ClCompile Include="..\Objects\mimalloc\alloc.c" />
152-
<ClCompile Include="..\Objects\mimalloc\arena.c" />
153-
<ClCompile Include="..\Objects\mimalloc\bitmap.c" />
154-
<ClCompile Include="..\Objects\mimalloc\heap.c" />
155-
<ClCompile Include="..\Objects\mimalloc\init.c" />
156-
<ClCompile Include="..\Objects\mimalloc\options.c" />
157-
<ClCompile Include="..\Objects\mimalloc\os.c" />
158-
<ClCompile Include="..\Objects\mimalloc\page.c" />
159-
<ClCompile Include="..\Objects\mimalloc\prim\prim.c" />
160-
<ClCompile Include="..\Objects\mimalloc\random.c" />
161-
<ClCompile Include="..\Objects\mimalloc\segment.c" />
162-
<ClCompile Include="..\Objects\mimalloc\segment-map.c" />
163-
<ClCompile Include="..\Objects\mimalloc\stats.c" />
164150
<ClCompile Include="..\Objects\moduleobject.c" />
165151
<ClCompile Include="..\Objects\namespaceobject.c" />
166152
<ClCompile Include="..\Objects\object.c" />

‎PCbuild/_freeze_module.vcxproj.filters

-42
Original file line numberDiff line numberDiff line change
@@ -253,48 +253,6 @@
253253
<ClCompile Include="..\Objects\methodobject.c">
254254
<Filter>Source Files</Filter>
255255
</ClCompile>
256-
<ClCompile Include="..\Objects\mimalloc\alloc-aligned.c">
257-
<Filter>Source Files</Filter>
258-
</CLCompile>
259-
<ClCompile Include="..\Objects\mimalloc\alloc.c">
260-
<Filter>Source Files</Filter>
261-
</CLCompile>
262-
<ClCompile Include="..\Objects\mimalloc\arena.c">
263-
<Filter>Source Files</Filter>
264-
</CLCompile>
265-
<ClCompile Include="..\Objects\mimalloc\bitmap.c">
266-
<Filter>Source Files</Filter>
267-
</CLCompile>
268-
<ClCompile Include="..\Objects\mimalloc\heap.c">
269-
<Filter>Source Files</Filter>
270-
</CLCompile>
271-
<ClCompile Include="..\Objects\mimalloc\init.c">
272-
<Filter>Source Files</Filter>
273-
</CLCompile>
274-
<ClCompile Include="..\Objects\mimalloc\options.c">
275-
<Filter>Source Files</Filter>
276-
</CLCompile>
277-
<ClCompile Include="..\Objects\mimalloc\os.c">
278-
<Filter>Source Files</Filter>
279-
</CLCompile>
280-
<ClCompile Include="..\Objects\mimalloc\page.c">
281-
<Filter>Source Files</Filter>
282-
</CLCompile>
283-
<ClCompile Include="..\Objects\mimalloc\prim\prim.c">
284-
<Filter>Source Files</Filter>
285-
</CLCompile>
286-
<ClCompile Include="..\Objects\mimalloc\random.c">
287-
<Filter>Source Files</Filter>
288-
</CLCompile>
289-
<ClCompile Include="..\Objects\mimalloc\segment.c">
290-
<Filter>Source Files</Filter>
291-
</CLCompile>
292-
<ClCompile Include="..\Objects\mimalloc\segment-map.c">
293-
<Filter>Source Files</Filter>
294-
</CLCompile>
295-
<ClCompile Include="..\Objects\mimalloc\stats.c">
296-
<Filter>Source Files</Filter>
297-
</CLCompile>
298256
<ClCompile Include="..\Python\modsupport.c">
299257
<Filter>Source Files</Filter>
300258
</ClCompile>

‎PCbuild/pythoncore.vcxproj

-14
Original file line numberDiff line numberDiff line change
@@ -498,20 +498,6 @@
498498
<ClCompile Include="..\Objects\longobject.c" />
499499
<ClCompile Include="..\Objects\memoryobject.c" />
500500
<ClCompile Include="..\Objects\methodobject.c" />
501-
<ClCompile Include="..\Objects\mimalloc\alloc-aligned.c" />
502-
<ClCompile Include="..\Objects\mimalloc\alloc.c" />
503-
<ClCompile Include="..\Objects\mimalloc\arena.c" />
504-
<ClCompile Include="..\Objects\mimalloc\bitmap.c" />
505-
<ClCompile Include="..\Objects\mimalloc\heap.c" />
506-
<ClCompile Include="..\Objects\mimalloc\init.c" />
507-
<ClCompile Include="..\Objects\mimalloc\options.c" />
508-
<ClCompile Include="..\Objects\mimalloc\os.c" />
509-
<ClCompile Include="..\Objects\mimalloc\page.c" />
510-
<ClCompile Include="..\Objects\mimalloc\prim\prim.c" />
511-
<ClCompile Include="..\Objects\mimalloc\random.c" />
512-
<ClCompile Include="..\Objects\mimalloc\segment.c" />
513-
<ClCompile Include="..\Objects\mimalloc\segment-map.c" />
514-
<ClCompile Include="..\Objects\mimalloc\stats.c" />
515501
<ClCompile Include="..\Objects\moduleobject.c" />
516502
<ClCompile Include="..\Objects\namespaceobject.c" />
517503
<ClCompile Include="..\Objects\object.c" />

‎PCbuild/pythoncore.vcxproj.filters

-42
Original file line numberDiff line numberDiff line change
@@ -1130,48 +1130,6 @@
11301130
<ClCompile Include="..\Objects\methodobject.c">
11311131
<Filter>Objects</Filter>
11321132
</ClCompile>
1133-
<ClCompile Include="..\Objects\mimalloc\alloc.c">
1134-
<Filter>Objects\mimalloc</Filter>
1135-
</ClCompile>
1136-
<ClCompile Include="..\Objects\mimalloc\alloc-aligned.c">
1137-
<Filter>Objects\mimalloc</Filter>
1138-
</ClCompile>
1139-
<ClCompile Include="..\Objects\mimalloc\arena.c">
1140-
<Filter>Objects\mimalloc</Filter>
1141-
</ClCompile>
1142-
<ClCompile Include="..\Objects\mimalloc\bitmap.c">
1143-
<Filter>Objects\mimalloc</Filter>
1144-
</ClCompile>
1145-
<ClCompile Include="..\Objects\mimalloc\heap.c">
1146-
<Filter>Objects\mimalloc</Filter>
1147-
</ClCompile>
1148-
<ClCompile Include="..\Objects\mimalloc\init.c">
1149-
<Filter>Objects\mimalloc</Filter>
1150-
</ClCompile>
1151-
<ClCompile Include="..\Objects\mimalloc\options.c">
1152-
<Filter>Objects\mimalloc</Filter>
1153-
</ClCompile>
1154-
<ClCompile Include="..\Objects\mimalloc\os.c">
1155-
<Filter>Objects\mimalloc</Filter>
1156-
</ClCompile>
1157-
<ClCompile Include="..\Objects\mimalloc\page.c">
1158-
<Filter>Objects\mimalloc</Filter>
1159-
</ClCompile>
1160-
<ClCompile Include="..\Objects\mimalloc\prim\prim.c">
1161-
<Filter>Objects\mimalloc</Filter>
1162-
</ClCompile>
1163-
<ClCompile Include="..\Objects\mimalloc\random.c">
1164-
<Filter>Objects\mimalloc</Filter>
1165-
</ClCompile>
1166-
<ClCompile Include="..\Objects\mimalloc\segment.c">
1167-
<Filter>Objects\mimalloc</Filter>
1168-
</ClCompile>
1169-
<ClCompile Include="..\Objects\mimalloc\segment-map.c">
1170-
<Filter>Objects\mimalloc</Filter>
1171-
</ClCompile>
1172-
<ClCompile Include="..\Objects\mimalloc\stats.c">
1173-
<Filter>Objects\mimalloc</Filter>
1174-
</ClCompile>
11751133
<ClCompile Include="..\Objects\moduleobject.c">
11761134
<Filter>Objects</Filter>
11771135
</ClCompile>

0 commit comments

Comments
 (0)