Restore missing mem_utils code

This commit is contained in:
Abdelrahman Said 2024-10-05 23:17:23 +01:00
parent e431cf729e
commit 139b4ca589
2 changed files with 12 additions and 1 deletions

View File

@ -39,7 +39,13 @@ void *wapp_mem_util_align_forward(void *ptr, u64 alignment) {
} }
void *wapp_mem_util_alloc(void *addr, u64 size, MemAccess access, MemAllocFlags flags, MemInitType type) { void *wapp_mem_util_alloc(void *addr, u64 size, MemAccess access, MemAllocFlags flags, MemInitType type) {
return mem_util_allocate(addr, size, access, flags); void *output = mem_util_allocate(addr, size, access, flags);
if (type == WAPP_MEM_INIT_INITIALISED) {
memset(output, 0, size);
}
return output;
} }
void wapp_mem_util_free(void *ptr, u64 size) { void wapp_mem_util_free(void *ptr, u64 size) {

View File

@ -20,6 +20,11 @@ internal const i32 access_types[] = {
}; };
void *mem_util_allocate(void *addr, u64 size, MemAccess access, MemAllocFlags flags) { void *mem_util_allocate(void *addr, u64 size, MemAccess access, MemAllocFlags flags) {
// Ensure memory is committed if it's meant to be initialised
if (type == WAPP_MEM_INIT_INITIALISED) {
flags |= WAPP_MEM_ALLOC_COMMIT;
}
return VirtualAlloc(addr, (SIZE_T)size, flags, access_types[access]); return VirtualAlloc(addr, (SIZE_T)size, flags, access_types[access]);
} }