30 lines
666 B
C
30 lines
666 B
C
#pragma once
|
|
#include <stdlib.h>
|
|
|
|
void *platform_malloc(size_t size);
|
|
U32 platform_page_size(void);
|
|
|
|
void *memory_allocate(size_t size);
|
|
void *memory_reserve(size_t size);
|
|
void memory_commit(void *mem, size_t size);
|
|
void memory_decommit(void *mem, size_t size);
|
|
|
|
void memory_free(void *mem, size_t size);
|
|
|
|
|
|
static INLINE size_t AlignToPageEnd(size_t size)
|
|
{
|
|
U32 page_size = platform_page_size();
|
|
size_t aligned_size = AlignUpPow2(size, page_size);
|
|
|
|
return aligned_size;
|
|
}
|
|
|
|
static INLINE size_t AlignToPageStart(size_t size)
|
|
{
|
|
U32 page_size = platform_page_size();
|
|
size_t aligned_size = AlignDownPow2(size, page_size);
|
|
|
|
return aligned_size;
|
|
}
|