| FUseSystemMallocForNew | ||||
| FExec
|
Module |
|
Header |
/Engine/Source/Runtime/Core/Public/GenericPlatform/GenericPlatformMallocCrash.h |
Include |
#include "GenericPlatform/GenericPlatformMallocCrash.h" |
struct FGenericPlatformMallocCrash : public FMalloc
Simple pooled memory allocator that uses preallocated memory. Instance of this class replaces GMalloc after a crash, so we can use dynamic memory allocation even if the app crashes due to OOM.
Name | Description | ||
---|---|---|---|
|
CrashedThreadId |
The id of the thread that crashed. |
|
|
InternalLock |
Used to lock crash malloc to one thread. |
|
|
uint8 * |
LargeMemoryPool |
Preallocated memory pool for large allocations. |
|
LargeMemoryPoolOffset |
Current position in the large memory pool. |
|
|
FMalloc * |
PreviousMalloc |
Previously used malloc. |
|
uint8 * |
SmallMemoryPool |
Preallocated memory pool for small allocations. |
|
SmallMemoryPoolOffset |
Current position in the small memory pool. |
Name | Description | |
---|---|---|
|
FGenericPlatformMallocCrash ( |
Name | Description | |
---|---|---|
|
~FGenericPlatformMallocCrash() |
Name | Description | ||
---|---|---|---|
|
uint8 * |
AllocateFromSmallPool ( |
|
|
FMallocCrash... |
FindPoolFromSize ( |
|
|
FGenericPlat... |
Get ( |
Creates a new instance. |
|
GetAllocationSize ( |
||
|
const FPoolD... |
GetPoolDesc ( |
Generated by the FGenericPlatformMallocCrash::PrintPoolsUsage. |
|
GetSmallPoolTotalSize() |
||
|
InitializeSmallPools() |
||
|
IsOnCrashedThread() |
Whether it is safe to call crash malloc's methods. |
|
|
IsPtrInLargePool ( |
||
|
IsPtrInSmallPool ( |
||
|
PrintPoolsUsage() |
||
|
SafePageSize() |
||
|
SetAsGMalloc() |
Sets as GMalloc. |
Name | Description | ||
---|---|---|---|
|
Free ( |
Free |
|
|
GetAllocationSize |
If possible determine the size of the memory allocated at the given address |
|
|
const TCHAR ... |
GetDescriptiveName() |
Gets descriptive name for logging purposes. |
|
IsInternallyThreadSafe() |
Returns if the allocator is guaranteed to be thread-safe and therefore doesn't need a unnecessary thread-safety wrapper around it. |
|
|
void * |
Malloc |
Malloc |
|
void * |
Realloc |
Realloc |
|
ValidateHeap() |
Validates the allocator's heap |