Branch: Tag:

2000-07-04

2000-07-04 00:43:58 by Martin Stjernholm <mast@lysator.liu.se>

Expelled even the innocent zeroing of destructed object references from
the gc check pass. It's upsetting the debug checks, and it's cleaner to
do all zapping of refs in the mark/cycle check pass anyway.

Rev: src/array.c:1.74
Rev: src/gc.c:1.101
Rev: src/gc.h:1.53
Rev: src/mapping.c:1.90
Rev: src/object.c:1.131
Rev: src/svalue.c:1.81
Rev: src/svalue.h:1.60

29:      #include "block_alloc.h"    - RCSID("$Id: gc.c,v 1.100 2000/07/03 18:38:26 mast Exp $"); + RCSID("$Id: gc.c,v 1.101 2000/07/04 00:43:57 mast Exp $");      /* Run garbage collect approximately every time    * 20 percent of all arrays, objects and programs is
453:    found_in=0;   }    - TYPE_FIELD debug_gc_check_svalues(struct svalue *s, int num, TYPE_T t, void *data) + void debug_gc_check_svalues(struct svalue *s, int num, TYPE_T t, void *data)   { -  TYPE_FIELD ret; +     found_in=data;    found_in_type=t; -  ret=gc_check_svalues(s,num); +  gc_check_svalues(s,num);    found_in_type=T_UNKNOWN;    found_in=0; -  return ret; +    }    - TYPE_FIELD debug_gc_check_weak_svalues(struct svalue *s, int num, TYPE_T t, void *data) + void debug_gc_check_weak_svalues(struct svalue *s, int num, TYPE_T t, void *data)   { -  TYPE_FIELD ret; +     found_in=data;    found_in_type=t; -  ret=gc_check_weak_svalues(s,num); +  gc_check_weak_svalues(s,num);    found_in_type=T_UNKNOWN;    found_in=0; -  return ret; +    }      void debug_gc_check_short_svalue(union anything *u, TYPE_T type, TYPE_T t, void *data)