aboutsummaryrefslogtreecommitdiffstats
path: root/tuplr.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-06-20 08:00:45 +0000
committerDavid Robillard <d@drobilla.net>2009-06-20 08:00:45 +0000
commit254168883050be511b924f200399785d258cab74 (patch)
treef277f370de0c139aa94f066c302d910981b72ad6 /tuplr.hpp
parentfa0cdd6234aa73ab0680c37f23664ff8c73cc1cb (diff)
downloadresp-254168883050be511b924f200399785d258cab74.tar.gz
resp-254168883050be511b924f200399785d258cab74.tar.bz2
resp-254168883050be511b924f200399785d258cab74.zip
Accurate garbage collection of types without special (kludge) tag.
git-svn-id: http://svn.drobilla.net/resp/tuplr@131 ad02d1e2-f140-0410-9f75-f8b11f17cedd
Diffstat (limited to 'tuplr.hpp')
-rw-r--r--tuplr.hpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/tuplr.hpp b/tuplr.hpp
index 48c3fe6..f70fc9c 100644
--- a/tuplr.hpp
+++ b/tuplr.hpp
@@ -144,8 +144,7 @@ struct CEnv; ///< Compile-Time Environment
struct GC {
enum Tag {
TAG_AST = 2, ///< Abstract syntax tree node
- TAG_TYPE = 4, ///< Type
- TAG_FRAME = 6 ///< Stack frame
+ TAG_FRAME = 4 ///< Stack frame
};
typedef std::list<const Object*> Roots;
typedef std::list<Object*> Heap;
@@ -325,7 +324,6 @@ struct AType : public ATuple {
}
return false; // never reached
}
- static void* operator new(size_t size) { return pool.alloc(size, GC::TAG_TYPE); }
enum { VAR, PRIM, EXPR } kind;
unsigned id;
};