diff --git a/src/object.c b/src/object.c index 8bd8654231d7c2f74bfbe8d0980151824dc62136..71e33cfdc34c688fd57c2eb025b6c6d81e6d3593 100644 --- a/src/object.c +++ b/src/object.c @@ -4,7 +4,7 @@ ||| See the files COPYING and DISCLAIMER for more information. \*/ #include "global.h" -RCSID("$Id: object.c,v 1.40 1998/02/19 03:22:30 hubbe Exp $"); +RCSID("$Id: object.c,v 1.41 1998/02/19 21:38:45 hubbe Exp $"); #include "object.h" #include "dynamic_buffer.h" #include "interpret.h" @@ -922,9 +922,6 @@ void gc_mark_object_as_referenced(struct object *o) if(frame.context.prog->gc_marked) frame.context.prog->gc_marked(o); - if(frame.context.parent) - gc_mark_object_as_referenced(frame.context.parent); - for(d=0;d<(int)frame.context.prog->num_identifiers;d++) { if(!IDENTIFIER_IS_VARIABLE(frame.context.prog->identifiers[d].identifier_flags)) @@ -959,7 +956,7 @@ void gc_check_all_objects(void) { #ifdef DEBUG if(o->parent) - if(gc_check(o->parent)==-2) + if(debug_gc_check(o->parent,T_OBJECT,o)==-2) fprintf(stderr,"(in object at %lx -> parent)\n",(long)o); #else if(o->parent) @@ -974,9 +971,6 @@ void gc_check_all_objects(void) struct inherit in=o->prog->inherits[e]; char *base=o->storage + in.storage_offset; - if(in.parent) - gc_check(in.parent); - for(d=0;d<in.prog->num_identifiers;d++) { struct identifier *i=in.prog->identifiers+d;