1 Commits

Author SHA1 Message Date
705a58b296 refactor: added alignment 2026-06-08 17:53:33 -06:00
2 changed files with 16 additions and 11 deletions

View File

@@ -8,13 +8,18 @@ typedef struct Allocator Allocator;
Allocator allocator_default(void); Allocator allocator_default(void);
struct Allocator { struct Allocator {
void* ctx; void *ctx;
void* (*alloc)(void* ctx, size_t size); void *(*alloc)(void *ctx, size_t size, size_t alignment);
void* (*realloc)(void* ctx, void* ptr, size_t old_size, size_t new_size); void *(*realloc)(
void *ctx,
void *ptr,
size_t old_size,
size_t new_size,
size_t alignment);
void (*free)(void* ctx, void* ptr, size_t size); void (*free)(void *ctx, void *ptr, size_t size, size_t alignment);
}; };
#endif #endif

View File

@@ -1,19 +1,19 @@
#include "lae_allocator.h" #include "lae_allocator.h"
#include <stdlib.h> #include <stdlib.h>
static void* stdlib_alloc(void* ctx, size_t size) { static void *stdlib_alloc(void *ctx, size_t size, size_t alignment) {
(void)ctx; (void)ctx;
return malloc(size); return malloc(size);
} }
static void* static void *stdlib_realloc(
stdlib_realloc(void* ctx, void* ptr, size_t old_size, size_t new_size) { void *ctx, void *ptr, size_t old_size, size_t new_size, size_t alignment) {
(void)ctx; (void)ctx;
(void)old_size; (void)old_size;
return realloc(ptr, new_size); return realloc(ptr, new_size);
} }
static void stdlib_free(void* ctx, void* ptr, size_t size) { static void stdlib_free(void *ctx, void *ptr, size_t size, size_t alignment) {
(void)ctx; (void)ctx;
(void)size; (void)size;
free(ptr); free(ptr);
@@ -21,9 +21,9 @@ static void stdlib_free(void* ctx, void* ptr, size_t size) {
Allocator allocator_default(void) { Allocator allocator_default(void) {
return (Allocator){ return (Allocator){
.ctx = NULL, .ctx = NULL,
.alloc = stdlib_alloc, .alloc = stdlib_alloc,
.realloc = stdlib_realloc, .realloc = stdlib_realloc,
.free = stdlib_free, .free = stdlib_free,
}; };
} }