aboutsummaryrefslogtreecommitdiff
path: root/src/zencore/memory
diff options
context:
space:
mode:
Diffstat (limited to 'src/zencore/memory')
-rw-r--r--src/zencore/memory/fmalloc.cpp5
-rw-r--r--src/zencore/memory/mallocansi.cpp6
-rw-r--r--src/zencore/memory/mallocmimalloc.cpp12
-rw-r--r--src/zencore/memory/mallocrpmalloc.cpp5
-rw-r--r--src/zencore/memory/mallocstomp.cpp6
-rw-r--r--src/zencore/memory/memory.cpp4
6 files changed, 34 insertions, 4 deletions
diff --git a/src/zencore/memory/fmalloc.cpp b/src/zencore/memory/fmalloc.cpp
index 3e96003f5..b64fe1f2e 100644
--- a/src/zencore/memory/fmalloc.cpp
+++ b/src/zencore/memory/fmalloc.cpp
@@ -56,8 +56,9 @@ class FInitialMalloc : public FMalloc
Memory::Initialize();
return GMalloc->GetAllocationSize(Original, SizeOut);
}
- virtual void OnMallocInitialized() override {}
- virtual void Trim(bool bTrimThreadCaches) override { ZEN_UNUSED(bTrimThreadCaches); }
+ virtual void OnMallocInitialized() override {}
+ virtual void Trim(bool bTrimThreadCaches) override { ZEN_UNUSED(bTrimThreadCaches); }
+ virtual const char* GetName() const override { return "initial"; }
} GInitialMalloc;
FMalloc* GMalloc = &GInitialMalloc; /* Memory allocator */
diff --git a/src/zencore/memory/mallocansi.cpp b/src/zencore/memory/mallocansi.cpp
index 9c3936172..e9465b46b 100644
--- a/src/zencore/memory/mallocansi.cpp
+++ b/src/zencore/memory/mallocansi.cpp
@@ -248,4 +248,10 @@ FMallocAnsi::GetAllocationSize(void* Original, size_t& SizeOut)
#endif
}
+const char*
+FMallocAnsi::GetName() const
+{
+ return "ansi";
+}
+
} // namespace zen
diff --git a/src/zencore/memory/mallocmimalloc.cpp b/src/zencore/memory/mallocmimalloc.cpp
index 1f9aff404..1679eebde 100644
--- a/src/zencore/memory/mallocmimalloc.cpp
+++ b/src/zencore/memory/mallocmimalloc.cpp
@@ -191,6 +191,18 @@ FMallocMimalloc::Trim(bool bTrimThreadCaches)
mi_collect(bTrimThreadCaches);
}
+const char*
+FMallocMimalloc::GetName() const
+{
+ static char Name[32] = {};
+ if (Name[0] == '\0')
+ {
+ int Ver = mi_version();
+ snprintf(Name, sizeof(Name), "mimalloc %d.%d.%d", Ver / 100, (Ver / 10) % 10, Ver % 10);
+ }
+ return Name;
+}
+
# undef DEBUG_FILL_FREED
# undef DEBUG_FILL_NEW
diff --git a/src/zencore/memory/mallocrpmalloc.cpp b/src/zencore/memory/mallocrpmalloc.cpp
index c45186b77..6c7bfe4f5 100644
--- a/src/zencore/memory/mallocrpmalloc.cpp
+++ b/src/zencore/memory/mallocrpmalloc.cpp
@@ -186,5 +186,10 @@ FMallocRpmalloc::Trim(bool bTrimThreadCaches)
{
ZEN_UNUSED(bTrimThreadCaches);
}
+const char*
+FMallocRpmalloc::GetName() const
+{
+ return "rpmalloc 1.5.0-dev.20250810";
+}
} // namespace zen
#endif
diff --git a/src/zencore/memory/mallocstomp.cpp b/src/zencore/memory/mallocstomp.cpp
index db9e1535e..54153cbd4 100644
--- a/src/zencore/memory/mallocstomp.cpp
+++ b/src/zencore/memory/mallocstomp.cpp
@@ -278,6 +278,12 @@ FMallocStomp::GetAllocationSize(void* Original, size_t& SizeOut)
return true;
}
+const char*
+FMallocStomp::GetName() const
+{
+ return "stomp";
+}
+
} // namespace zen
#endif // WITH_MALLOC_STOMP
diff --git a/src/zencore/memory/memory.cpp b/src/zencore/memory/memory.cpp
index 9e19c5db7..8dbb04e64 100644
--- a/src/zencore/memory/memory.cpp
+++ b/src/zencore/memory/memory.cpp
@@ -44,10 +44,10 @@ InitGMalloc()
// when using sanitizers, we should use the default/ansi allocator
#if ZEN_OVERRIDE_NEW_DELETE
-# if ZEN_RPMALLOC_ENABLED
+# if ZEN_MIMALLOC_ENABLED
if (Malloc == MallocImpl::None)
{
- Malloc = MallocImpl::Rpmalloc;
+ Malloc = MallocImpl::Mimalloc;
}
# endif
#endif