Move default AllocatePages/FreePages impl from Unix to PlatformBase
This commit is contained in:
@@ -163,6 +163,19 @@ void PlatformBase::Exit()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void* PlatformBase::AllocatePages(uint64 numPages, uint64 pageSize)
|
||||||
|
{
|
||||||
|
// Fallback to the default memory allocation
|
||||||
|
const uint64 numBytes = numPages * pageSize;
|
||||||
|
return Platform::Allocate(numBytes, pageSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
void PlatformBase::FreePages(void* ptr)
|
||||||
|
{
|
||||||
|
// Fallback to free
|
||||||
|
Platform::Free(ptr);
|
||||||
|
}
|
||||||
|
|
||||||
PlatformType PlatformBase::GetPlatformType()
|
PlatformType PlatformBase::GetPlatformType()
|
||||||
{
|
{
|
||||||
return PLATFORM_TYPE;
|
return PLATFORM_TYPE;
|
||||||
|
|||||||
@@ -322,13 +322,13 @@ public:
|
|||||||
/// <param name="numPages">The number of pages to allocate.</param>
|
/// <param name="numPages">The number of pages to allocate.</param>
|
||||||
/// <param name="pageSize">The size of single page. Use Platform::GetCPUInfo().PageSize or provide compatible, custom size.</param>
|
/// <param name="pageSize">The size of single page. Use Platform::GetCPUInfo().PageSize or provide compatible, custom size.</param>
|
||||||
/// <returns>The pointer to the allocated pages in memory.</returns>
|
/// <returns>The pointer to the allocated pages in memory.</returns>
|
||||||
static void* AllocatePages(uint64 numPages, uint64 pageSize) = delete;
|
static void* AllocatePages(uint64 numPages, uint64 pageSize);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Frees allocated pages memory block.
|
/// Frees allocated pages memory block.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="ptr">The pointer to the pages to deallocate.</param>
|
/// <param name="ptr">The pointer to the pages to deallocate.</param>
|
||||||
static void FreePages(void* ptr) = delete;
|
static void FreePages(void* ptr);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|||||||
@@ -51,20 +51,6 @@ void UnixPlatform::Free(void* ptr)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void* UnixPlatform::AllocatePages(uint64 numPages, uint64 pageSize)
|
|
||||||
{
|
|
||||||
const uint64 numBytes = numPages * pageSize;
|
|
||||||
|
|
||||||
// Fallback to malloc
|
|
||||||
return malloc(numBytes);
|
|
||||||
}
|
|
||||||
|
|
||||||
void UnixPlatform::FreePages(void* ptr)
|
|
||||||
{
|
|
||||||
// Fallback to free
|
|
||||||
free(ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint64 UnixPlatform::GetCurrentProcessId()
|
uint64 UnixPlatform::GetCurrentProcessId()
|
||||||
{
|
{
|
||||||
return getpid();
|
return getpid();
|
||||||
|
|||||||
@@ -16,8 +16,6 @@ public:
|
|||||||
// [PlatformBase]
|
// [PlatformBase]
|
||||||
static void* Allocate(uint64 size, uint64 alignment);
|
static void* Allocate(uint64 size, uint64 alignment);
|
||||||
static void Free(void* ptr);
|
static void Free(void* ptr);
|
||||||
static void* AllocatePages(uint64 numPages, uint64 pageSize);
|
|
||||||
static void FreePages(void* ptr);
|
|
||||||
static uint64 GetCurrentProcessId();
|
static uint64 GetCurrentProcessId();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user