Esempio n. 1
0
EXT void generator_free
  (generator* g)
{

  if( quix_object_free(g) )
  {
    if (g-> parameters) free(g-> parameters);
    free(g);
  } else already_free("Generator");

}
Esempio n. 2
0
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);
				}
			}
		}
	}
}