]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-90815: Exclude mimalloc .c files from Windows build (#111532)
authorDino Viehland <dinoviehland@fb.com>
Tue, 31 Oct 2023 18:54:35 +0000 (11:54 -0700)
committerGitHub <noreply@github.com>
Tue, 31 Oct 2023 18:54:35 +0000 (11:54 -0700)
* Don't include mimalloc .c's in Windows build
* Fix warnings on Windows related to mimalloc

Objects/obmalloc.c
PC/pyconfig.h
PCbuild/_freeze_module.vcxproj
PCbuild/_freeze_module.vcxproj.filters
PCbuild/pythoncore.vcxproj
PCbuild/pythoncore.vcxproj.filters

index d230bbdad3c4cf8e15af5fcc4fbb67cbf33d38d5..2761c7742097869a0cfb0056599b53c9336d47bb 100644 (file)
@@ -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
 
index ac20129cd30fcc7cca1f895a2f3339662e37291e..e6b368caffe2801c83232e125bc064cf0b1846e9 100644 (file)
@@ -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
 
index 05b8bfdc38a99cdfe1d5b82d1c617d28b367c7ff..20d800a6959552d895f3660b6b0b6ac6b6511c6a 100644 (file)
     <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" />
index d6cbd2d3d4736149e16a32135119076fdb7870e1..40256a22fb556260fc6fa94fd2d5d91021ec627b 100644 (file)
     <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>
index 954a59a0bc7019ab97f8e38189e1761a6df8b8f6..4d3621a6146807fd70c83462c233b7ce6a5c2be1 100644 (file)
     <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" />
index 2f8b206f973f34214ec5deb6465ac8991e2f3ab1..69d8e0312e0169d04375d9609d33a8e0cf7df9b6 100644 (file)
     <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>