2000-04-13
2000-04-13 02:11:25 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>
-
ad2bdb7154ebfaa24824b403aa7ae1d2036e05dd
(84 lines)
(+45/-39)
[
Show
| Annotate
]
Branch: 7.9
more debug..
Rev: src/gc.c:1.56
Rev: src/program.c:1.224
5:
\*/
/**/
#include "global.h"
- RCSID("$Id: program.c,v 1.223 2000/04/08 02:01:09 hubbe Exp $");
+ RCSID("$Id: program.c,v 1.224 2000/04/13 02:11:25 hubbe Exp $");
#include "program.h"
#include "object.h"
#include "dynamic_buffer.h"
3461: Inside #if defined(GC2)
}
}
- void gc_check_all_programs(void)
+ static void gc_check_program(struct program *p)
{
- struct program *p;
- for(p=first_program;p;p=p->next)
- {
+
int e;
-
+ extern void * check_for;
debug_malloc_touch(p);
3488:
#endif
}
- if(d_flag && p->inherits[e].name)
+ if(d_flag && p->inherits[e].name && check_for != (void *)1)
debug_gc_check(p->inherits[e].name, T_PROGRAM, p);
if(e && p->inherits[e].prog)
3496:
}
#ifdef PIKE_DEBUG
- if(d_flag)
+ if(d_flag && check_for != (void *)1)
{
int e;
for(e=0;e<(int)p->num_strings;e++)
3510:
}
#endif
}
+
+ void gc_check_all_programs(void)
+ {
+ struct program *p;
+ for(p=first_program;p;p=p->next) gc_check_program(p);
}
void gc_mark_all_programs(void)
3558: Inside #if defined(PIKE_DEBUG)
}
if(tmp >= p->refs)
fatal("garbage collector failed to free program!!!\n");
+
+ if(d_flag) gc_check_program(p);
#endif
next=p->next;
}