#ifndef __NASAL_GC_H__ #define __NASAL_GC_H__ #define GC_BLK_SIZE 128 class nasal_number; class nasal_string; class nasal_vector; class nasal_hash; class nasal_function; class nasal_closure; class nasal_scalar { private: int type; void* scalar_ptr; public: nasal_scalar() { type=0; scalar_ptr=(void*)NULL; return; } }; struct gc_unit { bool collected; char ref_cnt; nasal_scalar elem; gc_unit() { collected=true; ref_cnt=0; return; } }; class nasal_gc { private: std::queue free_space; std::vector memory; public: nasal_gc(); ~nasal_gc(); int gc_alloc(); int add_ref(int); int del_ref(int); }; nasal_gc::nasal_gc() { memory.clear(); return; } nasal_gc::~nasal_gc() { int size=memory.size(); for(int i=0;i> [gc] add_ref:unexpected memory \'"<