mirror of
https://github.com/thunderbrewhq/squall.git
synced 2025-12-12 02:22:30 +00:00
chore(memory): rely on external dependency for allocation functions
This commit is contained in:
parent
cf8b5dead1
commit
ef7507727b
4 changed files with 5 additions and 76 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
|
@ -1,3 +1,6 @@
|
||||||
[submodule "lib/system"]
|
[submodule "lib/system"]
|
||||||
path = lib/system
|
path = lib/system
|
||||||
url = https://github.com/thunderbrewhq/system.git
|
url = https://github.com/thunderbrewhq/system.git
|
||||||
|
[submodule "lib/mem"]
|
||||||
|
path = lib/mem
|
||||||
|
url = https://github.com/thunderbrewhq/mem.git
|
||||||
|
|
|
||||||
1
lib/mem
Submodule
1
lib/mem
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 8a8fa7918cebc8fdf23061d4501e49079af9a312
|
||||||
|
|
@ -1,66 +0,0 @@
|
||||||
#include "storm/Memory.hpp"
|
|
||||||
|
|
||||||
constexpr size_t ALIGNMENT = 8;
|
|
||||||
|
|
||||||
void* SMemAlloc(size_t bytes, const char* filename, int32_t linenumber, uint32_t flags) {
|
|
||||||
size_t alignedBytes = (bytes + (ALIGNMENT - 1)) & ~(ALIGNMENT - 1);
|
|
||||||
|
|
||||||
void* result;
|
|
||||||
|
|
||||||
if (flags & 0x8) {
|
|
||||||
result = calloc(1, alignedBytes);
|
|
||||||
} else {
|
|
||||||
result = malloc(alignedBytes);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (result) {
|
|
||||||
return result;
|
|
||||||
} else {
|
|
||||||
// TODO handle errors
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void SMemFree(void* ptr) {
|
|
||||||
if (ptr) {
|
|
||||||
free(ptr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void SMemFree(void* ptr, const char* filename, int32_t linenumber, uint32_t flags) {
|
|
||||||
if (ptr) {
|
|
||||||
free(ptr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void* SMemReAlloc(void* ptr, size_t bytes, const char* filename, int32_t linenumber, uint32_t flags) {
|
|
||||||
if (flags == 0xB00BEEE5) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!ptr) {
|
|
||||||
return SMemAlloc(bytes, filename, linenumber, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (flags & 0x10) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
size_t alignedBytes = (bytes + (ALIGNMENT - 1)) & ~(ALIGNMENT - 1);
|
|
||||||
|
|
||||||
void* result = realloc(ptr, alignedBytes);
|
|
||||||
|
|
||||||
if (result) {
|
|
||||||
if (flags & 0x8) {
|
|
||||||
// TODO zero out expanded portion
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
} else {
|
|
||||||
if (alignedBytes) {
|
|
||||||
// TODO handle errors
|
|
||||||
}
|
|
||||||
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +1,6 @@
|
||||||
#ifndef STORM_MEMORY_HPP
|
#ifndef STORM_MEMORY_HPP
|
||||||
#define STORM_MEMORY_HPP
|
#define STORM_MEMORY_HPP
|
||||||
|
|
||||||
#include <cstdint>
|
#include <mem/Memory.hpp>
|
||||||
#include <cstdlib>
|
|
||||||
|
|
||||||
void* SMemAlloc(size_t bytes, const char* filename, int32_t linenumber, uint32_t flags);
|
|
||||||
|
|
||||||
void SMemFree(void* ptr);
|
|
||||||
|
|
||||||
void SMemFree(void* ptr, const char* filename, int32_t linenumber, uint32_t flags);
|
|
||||||
|
|
||||||
void* SMemReAlloc(void* ptr, size_t bytes, const char* filename, int32_t linenumber, uint32_t flags);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue