aboutsummaryrefslogtreecommitdiff
path: root/zencore/memory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'zencore/memory.cpp')
-rw-r--r--zencore/memory.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/zencore/memory.cpp b/zencore/memory.cpp
index 613b6ba67..da78ae3a8 100644
--- a/zencore/memory.cpp
+++ b/zencore/memory.cpp
@@ -6,6 +6,7 @@
#ifdef ZEN_PLATFORM_WINDOWS
# include <malloc.h>
+# include <mimalloc.h>
#else
# include <cstdlib>
#endif
@@ -18,8 +19,11 @@ static void*
AlignedAllocImpl(size_t size, size_t alignment)
{
#if ZEN_PLATFORM_WINDOWS
- // return _aligned_malloc(size, alignment); // MSVC alternative
- return _mm_malloc(size, alignment);
+# if ZEN_USE_MIMALLOC && 0 /* this path is not functional */
+ return mi_aligned_alloc(alignment, size);
+# else
+ return _aligned_malloc(size, alignment);
+# endif
#else
// posix_memalign(&Ret, Alignment, Size); // Apple, AndroidApi<28
return std::aligned_alloc(alignment, size);
@@ -33,8 +37,11 @@ AlignedFreeImpl(void* ptr)
return;
#if ZEN_PLATFORM_WINDOWS
- // _aligned_free(ptr); MSVC alternative
- _mm_free(ptr);
+# if ZEN_USE_MIMALLOC && 0 /* this path is not functional */
+ return mi_free(ptr);
+# else
+ _aligned_free(ptr);
+# endif
#else
// free(ptr) // Apple :)
std::free(ptr);