Nebula
Loading...
Searching...
No Matches
win32memory.cc File Reference
#include "core/types.h"
#include "core/sysfunc.h"
#include "memory/heap.h"
#include "memory/poolarrayallocator.h"

Namespaces

namespace  Memory
 Allocates memory using the TLSF method (http://www.gii.upv.es/tlsf/files/ecrts04_tlsf.pdf), with extended handling of padding to better suit GPUs.
 

Functions

void * Memory::Alloc (HeapType heapType, size_t size, size_t alignment)
 Allocate a block of memory from one of the global heaps.
 
void * Memory::Realloc (HeapType heapType, void *ptr, size_t size)
 Re-Allocate a block of memory from one of the global heaps.
 
void Memory::Free (HeapType heapType, void *ptr)
 Free a block of memory.
 
char * Memory::DuplicateCString (const char *from)
 Duplicate a 0-terminated string, this method should no longer be used!
 
bool Memory::IsOverlapping (const unsigned char *srcPtr, size_t srcSize, const unsigned char *dstPtr, size_t dstSize)
 Test if 2 areas of memory areas are overlapping.
 
TotalMemoryStatus Memory::GetTotalMemoryStatus ()
 Get the system's total memory status.
 
void Memory::DumpTotalMemoryStatus ()
 Dump detail memory status information.
 
__forceinline void * Memory::AllocVirtual (size_t size)
 allocate a range of virtual memory space
 
__forceinline void Memory::CommitVirtual (void *ptr, size_t size)
 commit virtual memory
 
__forceinline void Memory::DecommitVirtual (void *ptr, size_t size)
 decommit virtual memory
 
__forceinline void Memory::FreeVirtual (void *ptr, size_t size)
 free virtual memory
 
void * operator new (size_t size) noexcept(false)
 Replacement global new/delete operators.
 
void * operator new (size_t size, std::align_val_t al) noexcept(false)
 
void * operator new (size_t size, const std::nothrow_t &noThrow) noexcept
 
void * operator new[] (size_t size) noexcept(false)
 Replacement global new[] operators.
 
void * operator new[] (size_t size, std::align_val_t al) noexcept(false)
 
void * operator new[] (size_t size, const std::nothrow_t &noThrow) noexcept
 
void operator delete (void *p)
 Replacement global delete operator.
 
void operator delete[] (void *p)
 Replacement global delete[] operator.
 

Variables

HANDLE volatile Memory::Win32ProcessHeap = 0
 
HeapType volatile Memory::MemoryLoggingHeapType = InvalidHeapType
 

Function Documentation

◆ operator delete()

void operator delete ( void * p)
noexcept

Replacement global delete operator.

◆ operator delete[]()

void operator delete[] ( void * p)
noexcept

Replacement global delete[] operator.

◆ operator new() [1/3]

void * operator new ( size_t size)

Replacement global new/delete operators.

Replacement global new/delete operators.

◆ operator new() [2/3]

void * operator new ( size_t size,
const std::nothrow_t & noThrow )
noexcept

◆ operator new() [3/3]

void * operator new ( size_t size,
std::align_val_t al )

◆ operator new[]() [1/3]

void * operator new[] ( size_t size)

Replacement global new[] operators.

◆ operator new[]() [2/3]

void * operator new[] ( size_t size,
const std::nothrow_t & noThrow )
noexcept

◆ operator new[]() [3/3]

void * operator new[] ( size_t size,
std::align_val_t al )