2025-11-10 16:48:20 +09:00
|
|
|
#include <stddef.h>
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
|
|
|
|
// Weak, no-op stubs to satisfy link in configurations where
|
|
|
|
|
// optional components are compiled out or gated by flags.
|
|
|
|
|
// Real implementations (when present) will override these.
|
|
|
|
|
|
|
|
|
|
__attribute__((weak)) void hak_tiny_prewarm_tls_cache(void) {}
|
|
|
|
|
|
2025-11-10 18:04:08 +09:00
|
|
|
// Weak stubs for remote tracking (avoid LTO link errors when tiny_remote.c is GC'ed)
|
|
|
|
|
struct SuperSlab; // forward decl to avoid heavy includes
|
|
|
|
|
__attribute__((weak)) void tiny_remote_track_on_local_free(struct SuperSlab* ss, int slab_idx, void* node, const char* stage, unsigned int tid) {
|
|
|
|
|
(void)ss; (void)slab_idx; (void)node; (void)stage; (void)tid;
|
|
|
|
|
}
|
|
|
|
|
__attribute__((weak)) void tiny_remote_track_expect_alloc(struct SuperSlab* ss, int slab_idx, void* node, const char* stage, unsigned int tid) {
|
|
|
|
|
(void)ss; (void)slab_idx; (void)node; (void)stage; (void)tid;
|
|
|
|
|
}
|
|
|
|
|
|
2025-11-10 16:48:20 +09:00
|
|
|
__attribute__((weak)) void* pool_alloc(size_t size) {
|
|
|
|
|
// Fallback to malloc if Pool TLS not linked
|
|
|
|
|
return malloc(size);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
__attribute__((weak)) void pool_free(void* ptr) {
|
|
|
|
|
// Fallback to free if Pool TLS not linked
|
|
|
|
|
free(ptr);
|
|
|
|
|
}
|