Branch: Tag:

2000-04-23

2000-04-23 03:01:26 by Martin Stjernholm <mast@lysator.liu.se>

GC fixes. Made the gc quite a bit more whiny when -d is used.

Rev: src/array.c:1.68
Rev: src/array.h:1.19
Rev: src/gc.c:1.79
Rev: src/gc.h:1.38
Rev: src/mapping.c:1.79
Rev: src/mapping.h:1.24
Rev: src/multiset.c:1.20
Rev: src/multiset.h:1.10
Rev: src/object.c:1.120
Rev: src/object.h:1.45
Rev: src/program.c:1.232
Rev: src/program.h:1.87
Rev: src/svalue.c:1.72
Rev: src/threads.h:1.89

5:   \*/   /**/   #include "global.h" - RCSID("$Id: mapping.c,v 1.78 2000/04/20 01:49:43 mast Exp $"); + RCSID("$Id: mapping.c,v 1.79 2000/04/23 03:01:25 mast Exp $");   #include "main.h"   #include "object.h"   #include "mapping.h"
63:    \    if(m->next) m->next->prev = m->prev; \    \ -  GC_FREE(m); +  GC_FREE();         #undef COUNT_OTHER
170:   {    struct mapping *m;    -  GC_ALLOC(); -  +     m=alloc_mapping();    -  +  GC_ALLOC(m); +     INITIALIZE_PROT(m);    init_mapping(m,size);   
1878:    }   }    + #ifdef PIKE_DEBUG + INT32 gc_touch_all_mappings(void) + { +  INT32 n = 0; +  struct mapping *m; +  for (m = first_mapping; m; m = m->next) { +  debug_gc_touch(m); +  n++; +  } +  return n; + } + #endif +    void gc_check_all_mappings(void)   {    struct mapping *m;