Move default AllocatePages/FreePages impl from Unix to PlatformBase

This commit is contained in:
Wojtek Figat
2021-03-09 14:32:24 +01:00
parent cc201e198d
commit 48ae338fb2
4 changed files with 15 additions and 18 deletions

View File

@@ -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()
{
return PLATFORM_TYPE;

View File

@@ -322,13 +322,13 @@ public:
/// <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>
/// <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>
/// Frees allocated pages memory block.
/// </summary>
/// <param name="ptr">The pointer to the pages to deallocate.</param>
static void FreePages(void* ptr) = delete;
static void FreePages(void* ptr);
public:

View File

@@ -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()
{
return getpid();

View File

@@ -16,8 +16,6 @@ public:
// [PlatformBase]
static void* Allocate(uint64 size, uint64 alignment);
static void Free(void* ptr);
static void* AllocatePages(uint64 numPages, uint64 pageSize);
static void FreePages(void* ptr);
static uint64 GetCurrentProcessId();
};