From 847eb1a69b54da3a5d686922f0a2fcd8ab37f1e6 Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Wed, 20 Aug 2025 23:27:04 +0100 Subject: Refactor vectors to SBO, removing inlined entirely. Avoid 2 levels of indirection, and having to allocate twice for small payloads, by having an inlined array on the vector directly! Beautiful and simple. Required a bit of refactoring around the board, but overall the result makes me feel happier. --- tag.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tag.c') diff --git a/tag.c b/tag.c index 874d532..8ca688a 100644 --- a/tag.c +++ b/tag.c @@ -22,7 +22,7 @@ lisp_t *tag_int(i64 i) return TAG((u64)i, INT); } -lisp_t *tag_sym(sv_t *str) +lisp_t *tag_sym(char *str) { return TAG((u64)str, SYM); } @@ -57,10 +57,10 @@ i64 as_int(lisp_t *obj) ; } -sv_t *as_sym(lisp_t *obj) +char *as_sym(lisp_t *obj) { assert(IS_TAG(obj, SYM)); - return (sv_t *)UNTAG(obj, SYM); + return (char *)UNTAG(obj, SYM); } cons_t *as_cons(lisp_t *obj) -- cgit v1.2.3-13-gbd6f