EXT void generator_free (generator* g) { if( quix_object_free(g) ) { if (g-> parameters) free(g-> parameters); free(g); } else already_free("Generator"); }
static void gc_sweep() { Object *p ; int i; for (i = 0; i < num_objects; i++) { p = objects[i]; if (p->header.marked) { p->header.marked = 0; } else { if( p != NULL && !already_free(p)) { Free_Header *q = (Free_Header*)p; q->size = p->size; q->next = freelist; freelist = q; if (DEBUG) { printf("sweep object@%p\n",freelist); } } } } }