8#if COMPILE_FORK_PAGE_PROTECTOR
9#include "Containers/Map.h"
30 munmap(Elements, Capacity);
33 void Emplace(T&&
Elem)
36 if (Elements ==
nullptr)
41 if (
Size + 1 > Capacity)
47 T* OldElements = Elements;
50 if (NewElements ==
nullptr)
72 return Elements +
Size;
77 return *Elements[
Index];
88 T* Elements =
nullptr;
110 virtual void* Realloc(
void* Ptr,
SIZE_T NewSize,
uint32 Alignment)
override;
111 virtual void Free(
void* Ptr)
override;
112 virtual const TCHAR * GetDescriptiveName()
override;
113 virtual bool IsInternallyThreadSafe()
const override;
118 bool OwnsPointer(
void* Ptr)
const;
120 FMalloc* PreviousMalloc =
nullptr;
121 FBlock* Blocks =
nullptr;
126class FForkPageProtector
129 static FForkPageProtector&
Get();
165 FForkPageProtector() =
default;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint32 Size
Definition VulkanMemory.cpp:4034
Definition MemoryBase.h:99
Definition UnrealString.h.inl:34
Definition UnixForkPageProtector.h:203
void UnProtectMemoryRegions()
Definition UnixForkPageProtector.h:214
static FForkPageProtector & Get()
Definition UnixForkPageProtector.h:205
void ProtectMemoryRegions()
Definition UnixForkPageProtector.h:213
void FreeMemoryRegion(void *Address)
Definition UnixForkPageProtector.h:212
static void OverrideGMalloc()
Definition UnixForkPageProtector.h:217
bool HandleNewCrashAddress(void *CrashAddress)
Definition UnixForkPageProtector.h:215
void AddMemoryRegion(void *Address, uint64 Size)
Definition UnixForkPageProtector.h:211
FORCEINLINE T * Get(const FObjectPtr &ObjectPtr)
Definition ObjectPtr.h:426
FORCEINLINE FStridedReferenceIterator begin(FStridedReferenceView View)
Definition FastReferenceCollector.h:490
FORCEINLINE FStridedReferenceIterator end(FStridedReferenceView View)
Definition FastReferenceCollector.h:491
Definition AdvancedWidgetsModule.cpp:13
U16 Index
Definition radfft.cpp:71
static UE_FORCEINLINE_HINT void * Memcpy(void *Dest, const void *Src, SIZE_T Count)
Definition UnrealMemory.h:160