@@ -358,14 +358,38 @@ _PyObject_MiFree(void *ctx, void *ptr)
358358 mi_free (ptr );
359359}
360360
361+ void *
362+ _PyMem_MiRawMalloc (void * , size_t size )
363+ {
364+ return mi_malloc (size );
365+ }
366+
367+ void *
368+ _PyMem_MiRawCalloc (void * , size_t nelem , size_t elsize )
369+ {
370+ return mi_calloc (nelem , elsize );
371+ }
372+
373+ void *
374+ _PyMem_MiRawRealloc (void * , void * ptr , size_t size )
375+ {
376+ return mi_realloc (ptr , size );
377+ }
378+
379+ void
380+ _PyMem_MiRawFree (void * , void * ptr )
381+ {
382+ mi_free (ptr );
383+ }
361384#endif // WITH_MIMALLOC
362385
363386
364387#define MALLOC_ALLOC {NULL, _PyMem_RawMalloc, _PyMem_RawCalloc, _PyMem_RawRealloc, _PyMem_RawFree}
365388
366389
367390#ifdef WITH_MIMALLOC
368- # define MIMALLOC_ALLOC {NULL, _PyMem_MiMalloc, _PyMem_MiCalloc, _PyMem_MiRealloc, _PyMem_MiFree}
391+ # define MIMALLOC_ALLOC {NULL, _PyMem_MiMalloc, _PyMem_MiCalloc, _PyMem_MiRealloc, _PyMem_MiFree}
392+ # define MIMALLOC_RAWALLOC {NULL, _PyMem_MiRawMalloc, _PyMem_MiRawCalloc, _PyMem_MiRawRealloc, _PyMem_MiRawFree}
369393# define MIMALLOC_OBJALLOC {NULL, _PyObject_MiMalloc, _PyObject_MiCalloc, _PyObject_MiRealloc, _PyObject_MiFree}
370394#endif
371395
@@ -383,7 +407,7 @@ void* _PyObject_Realloc(void *ctx, void *ptr, size_t size);
383407
384408#if defined(Py_GIL_DISABLED )
385409// Py_GIL_DISABLED requires using mimalloc for "mem" and "obj" domains.
386- # define PYRAW_ALLOC MALLOC_ALLOC
410+ # define PYRAW_ALLOC MIMALLOC_RAWALLOC
387411# define PYMEM_ALLOC MIMALLOC_ALLOC
388412# define PYOBJ_ALLOC MIMALLOC_OBJALLOC
389413#elif defined(WITH_PYMALLOC )
@@ -758,7 +782,7 @@ set_up_allocators_unlocked(PyMemAllocatorName allocator)
758782 case PYMEM_ALLOCATOR_MIMALLOC :
759783 case PYMEM_ALLOCATOR_MIMALLOC_DEBUG :
760784 {
761- PyMemAllocatorEx malloc_alloc = MALLOC_ALLOC ;
785+ PyMemAllocatorEx malloc_alloc = MIMALLOC_RAWALLOC ;
762786 set_allocator_unlocked (PYMEM_DOMAIN_RAW , & malloc_alloc );
763787
764788 PyMemAllocatorEx pymalloc = MIMALLOC_ALLOC ;
0 commit comments