diff options
Diffstat (limited to 'src/zencore/memory.cpp')
| -rw-r--r-- | src/zencore/memory.cpp | 55 |
1 files changed, 1 insertions, 54 deletions
diff --git a/src/zencore/memory.cpp b/src/zencore/memory.cpp index a0d911786..a2fe02f3a 100644 --- a/src/zencore/memory.cpp +++ b/src/zencore/memory.cpp @@ -4,67 +4,14 @@ #include <zencore/fmtutils.h> #include <zencore/intmath.h> #include <zencore/memory.h> +#include <zencore/memory/memory.h> #include <zencore/testing.h> #include <zencore/zencore.h> #include <cstdlib> -#if ZEN_USE_MIMALLOC -ZEN_THIRD_PARTY_INCLUDES_START -# include <mimalloc.h> -ZEN_THIRD_PARTY_INCLUDES_END -#endif - namespace zen { -////////////////////////////////////////////////////////////////////////// - -static void* -AlignedAllocImpl(size_t Size, size_t Alignment) -{ - // aligned_alloc() states that size must be a multiple of alignment. Some - // platforms return null if this requirement isn't met. - Size = (Size + Alignment - 1) & ~(Alignment - 1); - -#if ZEN_USE_MIMALLOC - return mi_aligned_alloc(Alignment, Size); -#elif ZEN_PLATFORM_WINDOWS - return _aligned_malloc(Size, Alignment); -#else - return std::aligned_alloc(Alignment, Size); -#endif -} - -void -AlignedFreeImpl(void* ptr) -{ - if (ptr == nullptr) - return; - -#if ZEN_USE_MIMALLOC - return mi_free(ptr); -#elif ZEN_PLATFORM_WINDOWS - _aligned_free(ptr); -#else - std::free(ptr); -#endif -} - -////////////////////////////////////////////////////////////////////////// - -void* -Memory::Alloc(size_t Size, size_t Alignment) -{ - return AlignedAllocImpl(Size, Alignment); -} - -void -Memory::Free(void* ptr) -{ - AlignedFreeImpl(ptr); -} - -////////////////////////////////////////////////////////////////////////// // // Unit tests // |