A lot of work

This commit is contained in:
2026-01-19 05:57:18 -08:00
parent c7af58f674
commit c63b104bc6
12 changed files with 217 additions and 13 deletions
+12 -2
View File
@@ -97,8 +97,18 @@ typedef struct {
ObjectGCInfo gc;
} LispObject;
static ALWAYS_INLINE void MAKE_OBJ_IMMORTAL(LispVal *obj) {
((LispObject *) obj)->gc.immortal = true;
static ALWAYS_INLINE bool OBJECTP(LispVal *val) {
return EXTRACT_TAG(val) == LISP_OBJECT_TAG;
}
static ALWAYS_INLINE void SET_OBJECT_MARKED(LispVal *val, bool marked) {
assert(OBJECTP(val));
((LispObject *) val)->gc.mark = marked;
}
static ALWAYS_INLINE bool OBJECT_MARKED_P(LispVal *val) {
assert(OBJECTP(val));
return ((LispObject *) val)->gc.mark;
}
static ALWAYS_INLINE LispValType TYPE_OF(LispVal *val) {