Branch: Tag:

1996-12-05

1996-12-05 00:47:58 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

fixed a small memory leak and added _memory_usage

Rev: bin/test_pike.pike:1.3
Rev: src/ChangeLog:1.32
Rev: src/array.c:1.4
Rev: src/array.h:1.2
Rev: src/builtin_functions.c:1.16
Rev: src/builtin_functions.h:1.3
Rev: src/callback.c:1.4
Rev: src/callback.h:1.3
Rev: src/constants.c:1.4
Rev: src/constants.h:1.2
Rev: src/language.yacc:1.15
Rev: src/las.c:1.10
Rev: src/las.h:1.3
Rev: src/mapping.c:1.8
Rev: src/mapping.h:1.2
Rev: src/modules/call_out/call_out.c:1.4
Rev: src/modules/pipe/pipe.c:1.7
Rev: src/multiset.c:1.2
Rev: src/multiset.h:1.2
Rev: src/object.c:1.6
Rev: src/object.h:1.4
Rev: src/program.c:1.11
Rev: src/program.h:1.4
Rev: src/stralloc.c:1.8
Rev: src/stralloc.h:1.4

4:   ||| See the files COPYING and DISCLAIMER for more information.   \*/   #include "global.h" - RCSID("$Id: mapping.c,v 1.7 1996/11/14 01:36:29 hubbe Exp $"); + RCSID("$Id: mapping.c,v 1.8 1996/12/05 00:47:15 hubbe Exp $");   #include "main.h"   #include "types.h"   #include "object.h"
20:   #include "las.h"   #include "gc.h"    -  +    #define AVG_LINK_LENGTH 4   #define MIN_LINK_LENGTH 1   #define MAP_SLOTS(X) ((X)+((X)>>4)+8)
1048:    free_mapping(m);    }   } +  + void count_memory_in_mappings(INT32 *num_, INT32 *size_) + { +  INT32 num=0, size=0; +  struct mapping *m; +  for(m=first_mapping;m;m=m->next) +  { +  struct keypair *k; +  num++; +  size+=sizeof(struct mapping)+ +  sizeof(struct keypair *) * m->hashsize+ +  sizeof(struct keypair) * m->size; +  +  for(k=m->free_list;k;k=k->next) +  size+=sizeof(struct keypair); +  } +  +  *num_=num; +  *size_=size; + }