Branch: Tag:

2000-04-15

2000-04-15 05:05:28 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

more and better debug, some cleanup in gc()

Rev: src/dmalloc.h:1.25
Rev: src/gc.c:1.65
Rev: src/gc.h:1.29
Rev: src/interpreter.h:1.37
Rev: src/las.c:1.175
Rev: src/main.c:1.89
Rev: src/mapping.c:1.73
Rev: src/object.c:1.109
Rev: src/pike_macros.h:1.15
Rev: src/pike_memory.c:1.65
Rev: src/program.c:1.226
Rev: src/stralloc.c:1.82
Rev: src/svalue.h:1.51
Rev: src/threads.c:1.119
Rev: src/threads.h:1.81

5:   \*/      /* -  * $Id: pike_macros.h,v 1.14 2000/04/08 01:09:33 hubbe Exp $ +  * $Id: pike_macros.h,v 1.15 2000/04/15 05:05:28 hubbe Exp $    */   #ifndef MACROS_H   #define MACROS_H
73:    free_program(p); \   }while(0)    + #define DOUBLELINK(first_object, o) do { \ +  o->next=first_object; \ +  o->prev=0; \ +  if(first_object) first_object->prev=o; \ +  first_object=o; \ + }while(0) +  + #define DOUBLEUNLINK(first_object,o) do{ \ +  if(o->prev) { \ +  o->prev->next=o->next; \ +  }else { \ +  DO_IF_DEBUG( \ +  if(first_object != o) \ +  fatal("Linked in wrong list!\n"); \ +  ) \ +  first_object=o->next; \ +  } \ +  \ +  if(o->next) o->next->prev=o->prev; \ + }while(0) +  +    #endif