summaryrefslogtreecommitdiffstats
path: root/gc.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2009-11-16 09:26:53 -0800
committerKaz Kylheku <kaz@kylheku.com>2009-11-16 09:26:53 -0800
commitfb2f0af8bd14283524e5842b43461ea3fc7701ca (patch)
treeacdf6396d5ebf9b9d65ea85f70cafd7fffdb8991 /gc.c
parent0dd8652385533322d41b30fbd9375e6de9903548 (diff)
downloadtxr-fb2f0af8bd14283524e5842b43461ea3fc7701ca.tar.gz
txr-fb2f0af8bd14283524e5842b43461ea3fc7701ca.tar.bz2
txr-fb2f0af8bd14283524e5842b43461ea3fc7701ca.zip
Use the 11 tag bit pattern to denote a new type: LIT. This is a
pointer to a C static string, intended for literals. We can now treat literal strings as light-weight objects.
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gc.c b/gc.c
index 212a8946..850fab3f 100644
--- a/gc.c
+++ b/gc.c
@@ -158,6 +158,7 @@ static void finalize(obj_t *obj)
return;
case CHR:
case NUM:
+ case LIT:
case SYM:
case FUN:
return;
@@ -211,6 +212,7 @@ tail_call:
mark_obj_tail(obj->st.len);
case CHR:
case NUM:
+ case LIT:
return;
case SYM:
mark_obj(obj->s.name);