aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-05-15 19:39:59 +0000
committerDavid Robillard <d@drobilla.net>2011-05-15 19:39:59 +0000
commitec6bd7cded43bfd3ba1491c8ec08eb1975334e4e (patch)
tree12f8bcdf31d8aa56ccd9e85d132f72fff3e555b6
parentccc0e2c718ac0562bbc2273cde5c853249f94ab2 (diff)
downloadresp-ec6bd7cded43bfd3ba1491c8ec08eb1975334e4e.tar.gz
resp-ec6bd7cded43bfd3ba1491c8ec08eb1975334e4e.tar.bz2
resp-ec6bd7cded43bfd3ba1491c8ec08eb1975334e4e.zip
Leave symbols alone in GC (currently causes memory errors)
git-svn-id: http://svn.drobilla.net/resp/trunk@426 ad02d1e2-f140-0410-9f75-f8b11f17cedd
-rw-r--r--src/gc.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gc.cpp b/src/gc.cpp
index 6655e40..59036df 100644
--- a/src/gc.cpp
+++ b/src/gc.cpp
@@ -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)