From 0f66bd95fa65959fdef5c3741de6fbe3855f4268 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Mon, 30 Mar 2026 10:36:15 +0200 Subject: [PATCH] finish remove mimalloc --- Bin2CPP/Sources/Bin2CPPLib/MimallocImpl.cpp | 96 --------------------- 1 file changed, 96 deletions(-) delete mode 100644 Bin2CPP/Sources/Bin2CPPLib/MimallocImpl.cpp diff --git a/Bin2CPP/Sources/Bin2CPPLib/MimallocImpl.cpp b/Bin2CPP/Sources/Bin2CPPLib/MimallocImpl.cpp deleted file mode 100644 index bdb5e6a..0000000 --- a/Bin2CPP/Sources/Bin2CPPLib/MimallocImpl.cpp +++ /dev/null @@ -1,96 +0,0 @@ -/********************************************************************* - * \file MimallocImpl.cpp - * - * \author Romain BOULLARD - * \date February 2026 - *********************************************************************/ -#if defined BIN2CPP_WINDOWS -#pragma comment(linker, "/include:mi_version") -#pragma warning(disable: 4100 4559) -#elif defined BIN2CPP_LINUX -#if defined(__GNUC__) && !defined(__llvm__) && !defined(__INTEL_COMPILER) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wunused-parameter" -#else -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-parameter" -#endif -#endif - -// Taken from mimalloc-new-delete.h - -// clang-format off - -// ---------------------------------------------------------------------------- -// This header provides convenient overrides for the new and -// delete operations in C++. -// -// This header should be included in only one source file! -// -// On Windows, or when linking dynamically with mimalloc, these -// can be more performant than the standard new-delete operations. -// See -// --------------------------------------------------------------------------- -#if defined(__cplusplus) - #include - #include - - #if defined(_MSC_VER) && defined(_Ret_notnull_) && defined(_Post_writable_byte_size_) - // stay consistent with VCRT definitions - #define mi_decl_new(n) mi_decl_nodiscard mi_decl_restrict _Ret_notnull_ _Post_writable_byte_size_(n) - #define mi_decl_new_nothrow(n) mi_decl_nodiscard mi_decl_restrict _Ret_maybenull_ _Success_(return != NULL) _Post_writable_byte_size_(n) - #else - #define mi_decl_new(n) mi_decl_nodiscard mi_decl_restrict - #define mi_decl_new_nothrow(n) mi_decl_nodiscard mi_decl_restrict - #endif - - void operator delete(void* p) noexcept { mi_free(p); }; - void operator delete[](void* p) noexcept { mi_free(p); }; - - void operator delete (void* p, const std::nothrow_t&) noexcept { mi_free(p); } - void operator delete[](void* p, const std::nothrow_t&) noexcept { mi_free(p); } - - mi_decl_new(n) void* operator new(std::size_t n) noexcept(false) { return mi_new(n); } - mi_decl_new(n) void* operator new[](std::size_t n) noexcept(false) { return mi_new(n); } - - mi_decl_new_nothrow(n) void* operator new (std::size_t n, const std::nothrow_t& tag) noexcept { (void)(tag); return mi_new_nothrow(n); } - mi_decl_new_nothrow(n) void* operator new[](std::size_t n, const std::nothrow_t& tag) noexcept { (void)(tag); return mi_new_nothrow(n); } - - // Not from mimalloc-new-delete.h, but necessary for EASTL - void* operator new[](size_t size, const char* name, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { return mi_new(size); } - - #if (__cplusplus >= 201402L || _MSC_VER >= 1916) - void operator delete (void* p, std::size_t n) noexcept { mi_free_size(p,n); }; - void operator delete[](void* p, std::size_t n) noexcept { mi_free_size(p,n); }; - #endif - - #if (__cplusplus > 201402L || defined(__cpp_aligned_new)) - void operator delete (void* p, std::align_val_t al) noexcept { mi_free_aligned(p, static_cast(al)); } - void operator delete[](void* p, std::align_val_t al) noexcept { mi_free_aligned(p, static_cast(al)); } - void operator delete (void* p, std::size_t n, std::align_val_t al) noexcept { mi_free_size_aligned(p, n, static_cast(al)); }; - void operator delete[](void* p, std::size_t n, std::align_val_t al) noexcept { mi_free_size_aligned(p, n, static_cast(al)); }; - void operator delete (void* p, std::align_val_t al, const std::nothrow_t&) noexcept { mi_free_aligned(p, static_cast(al)); } - void operator delete[](void* p, std::align_val_t al, const std::nothrow_t&) noexcept { mi_free_aligned(p, static_cast(al)); } - - void* operator new (std::size_t n, std::align_val_t al) noexcept(false) { return mi_new_aligned(n, static_cast(al)); } - void* operator new[](std::size_t n, std::align_val_t al) noexcept(false) { return mi_new_aligned(n, static_cast(al)); } - void* operator new (std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { return mi_new_aligned_nothrow(n, static_cast(al)); } - void* operator new[](std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { return mi_new_aligned_nothrow(n, static_cast(al)); } - - // Not from mimalloc-new-delete.h, but necessary for EASTL - void* operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char* pName, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { return mi_new_aligned(size, alignment); } - #endif - -#endif - -// clang-format on - -#if defined BIN2CPP_WINDOWS -#pragma warning(default: 4100 4559) -#elif defined BIN2CPP_LINUX -#if defined(__GNUC__) && !defined(__llvm__) && !defined(__INTEL_COMPILER) -#pragma GCC diagnostic pop -#else -#pragma clang diagnostic pop -#endif -#endif