11#if !defined(UE_USE_MALLOC_FILL_BYTES)
12 #define UE_USE_MALLOC_FILL_BYTES ((UE_BUILD_DEBUG || UE_BUILD_DEVELOPMENT) && !WITH_EDITORONLY_DATA && !PLATFORM_USES_FIXED_GMalloc_CLASS && !USING_ADDRESS_SANITISER)
16#define UE_DEBUG_FILL_FREED (0xdd)
19#define UE_DEBUG_FILL_NEW (0xcd)
35 checkf(UsedMalloc,
TEXT(
"FMallocPoisonProxy is used without a valid malloc!"));
45 void* Result = UsedMalloc->
Malloc(
Size, Alignment);
55 void* Result = UsedMalloc->
Malloc(
Size, Alignment);
69 if (Ptr !=
nullptr &&
GetAllocationSize(Ptr, OldSize) && OldSize > 0 && OldSize > NewSize)
74 void* Result = UsedMalloc->
Realloc(Ptr, NewSize, Alignment);
76 if (Result !=
nullptr && OldSize > 0 && OldSize < NewSize)
84 virtual void Free(
void* Ptr)
override
93 UsedMalloc->
Free(Ptr);
127#if UE_ALLOW_EXEC_COMMANDS
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
#define LIKELY(x)
Definition CityHash.cpp:107
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_DEBUG_FILL_FREED
Definition MallocPoisonProxy.h:16
#define UE_DEBUG_FILL_NEW
Definition MallocPoisonProxy.h:19
uint32 Size
Definition VulkanMemory.cpp:4034
virtual CORE_API bool Exec(UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
Definition Exec.cpp:30
Definition MallocPoisonProxy.h:25
virtual void DumpAllocatorStats(class FOutputDevice &Ar) override
Definition MallocPoisonProxy.h:112
virtual SIZE_T QuantizeSize(SIZE_T Count, uint32 Alignment) override
Definition MallocPoisonProxy.h:97
virtual const TCHAR * GetDescriptiveName() override
Definition MallocPoisonProxy.h:139
virtual void OnPreFork() override
Definition MallocPoisonProxy.h:174
virtual void MarkTLSCachesAsUnusedOnCurrentThread() override
Definition MallocPoisonProxy.h:159
virtual void InitializeStatsMetadata() override
Definition MallocPoisonProxy.h:38
virtual bool GetAllocationSize(void *Original, SIZE_T &SizeOut) override
Definition MallocPoisonProxy.h:134
virtual void GetAllocatorStats(FGenericMemoryStats &out_Stats) override
Definition MallocPoisonProxy.h:107
virtual void * Malloc(SIZE_T Size, uint32 Alignment) override
Definition MallocPoisonProxy.h:43
virtual void SetupTLSCachesOnCurrentThread() override
Definition MallocPoisonProxy.h:149
virtual void OnMallocInitialized() override
Definition MallocPoisonProxy.h:169
virtual void Free(void *Ptr) override
Definition MallocPoisonProxy.h:84
virtual void * Realloc(void *Ptr, SIZE_T NewSize, uint32 Alignment) override
Definition MallocPoisonProxy.h:63
virtual void ClearAndDisableTLSCachesOnCurrentThread() override
Definition MallocPoisonProxy.h:164
virtual void * MallocZeroed(SIZE_T Size, uint32 Alignment) override
Definition MallocPoisonProxy.h:53
FMallocPoisonProxy(FMalloc *InMalloc)
Definition MallocPoisonProxy.h:32
virtual void Trim(bool bTrimThreadCaches) override
Definition MallocPoisonProxy.h:144
virtual bool IsInternallyThreadSafe() const override
Definition MallocPoisonProxy.h:117
virtual void UpdateStats() override
Definition MallocPoisonProxy.h:102
virtual void OnPostFork() override
Definition MallocPoisonProxy.h:180
virtual bool ValidateHeap() override
Definition MallocPoisonProxy.h:122
virtual void MarkTLSCachesAsUsedOnCurrentThread() override
Definition MallocPoisonProxy.h:154
Definition MemoryBase.h:99
virtual const TCHAR * GetDescriptiveName()
Definition MemoryBase.h:248
virtual void Free(void *Original)=0
virtual void OnMallocInitialized()
Definition MemoryBase.h:256
virtual void OnPreFork()
Definition MemoryBase.h:261
virtual bool GetAllocationSize(void *Original, SIZE_T &SizeOut)
Definition MemoryBase.h:158
virtual void * Malloc(SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT)=0
virtual bool ValidateHeap()
Definition MemoryBase.h:238
virtual void SetupTLSCachesOnCurrentThread()
Definition MemoryBase.h:173
virtual bool IsInternallyThreadSafe() const
Definition MemoryBase.h:230
virtual void MarkTLSCachesAsUnusedOnCurrentThread()
Definition MemoryBase.h:187
virtual void DumpAllocatorStats(class FOutputDevice &Ar)
Definition MemoryBase.h:221
virtual CORE_API void GetAllocatorStats(FGenericMemoryStats &out_Stats)
Definition MemoryBase.cpp:85
virtual void MarkTLSCachesAsUsedOnCurrentThread()
Definition MemoryBase.h:180
virtual void Trim(bool bTrimThreadCaches)
Definition MemoryBase.h:166
virtual CORE_API void InitializeStatsMetadata()
Definition MemoryBase.cpp:61
virtual void * Realloc(void *Original, SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT)=0
virtual CORE_API void UpdateStats()
Definition MemoryBase.cpp:72
virtual void OnPostFork()
Definition MemoryBase.h:266
virtual void ClearAndDisableTLSCachesOnCurrentThread()
Definition MemoryBase.h:194
virtual SIZE_T QuantizeSize(SIZE_T Count, uint32 Alignment)
Definition MemoryBase.h:146
Definition OutputDevice.h:133
Definition MemoryMisc.h:21
static UE_FORCEINLINE_HINT void * Memset(void *Dest, uint8 Char, SIZE_T Count)
Definition UnrealMemory.h:119