diff options
-rw-r--r-- | src/gc.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -57,10 +57,12 @@ GC::alloc(size_t size) inline void mark(const Object* obj) { + if (obj->tag() == T_SYMBOL) + return; + if (!obj || obj->marked()) return; - obj->mark(true); if (obj->tag() != T_UNKNOWN) { const ATuple* tup = ((const AST*)obj)->to_tuple(); if (tup) |