35 lines
632 B
C
35 lines
632 B
C
|
|
internal void *
|
|
platform_memory_reserve(u64 size)
|
|
{
|
|
void *result = VirtualAlloc(0, size, MEM_RESERVE, PAGE_READWRITE);
|
|
return result;
|
|
}
|
|
|
|
internal b8
|
|
platform_memory_commit(void *ptr, u64 size)
|
|
{
|
|
b32 result = (VirtualAlloc(ptr, size, MEM_COMMIT, PAGE_READWRITE) != 0);
|
|
return result;
|
|
}
|
|
|
|
internal void
|
|
platform_memory_decommit(void *ptr, u64 size)
|
|
{
|
|
VirtualFree(ptr, size, MEM_DECOMMIT);
|
|
};
|
|
|
|
internal void
|
|
platform_memory_release(void *ptr, u64 size)
|
|
{
|
|
VirtualFree(ptr, 0, MEM_RELEASE);
|
|
}
|
|
|
|
internal u64
|
|
platform_get_page_size(void)
|
|
{
|
|
SYSTEM_INFO sysinfo = {0};
|
|
GetSystemInfo(&sysinfo);
|
|
return sysinfo.dwPageSize;
|
|
}
|