Branch: Tag:

2003-03-14

2003-03-14 15:57:49 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Improved dmalloc.

Rev: src/apply_low.h:1.16
Rev: src/array.c:1.138
Rev: src/backend.cmod:1.38
Rev: src/bignum.c:1.34
Rev: src/block_alloc.h:1.63
Rev: src/builtin_functions.c:1.479
Rev: src/code/ia32.c:1.25
Rev: src/cpp.c:1.115
Rev: src/encode.c:1.169
Rev: src/error.c:1.102
Rev: src/gc.c:1.209
Rev: src/interpret.c:1.295
Rev: src/interpret.h:1.131
Rev: src/interpret_functions.h:1.141
Rev: src/iterators.cmod:1.35
Rev: src/las.c:1.330
Rev: src/mapping.c:1.163
Rev: src/modules/Image/orient.c:1.24
Rev: src/modules/Image/phase.h:1.6
Rev: src/modules/Java/jvm.c:1.60
Rev: src/modules/SANE/sane.c:1.17
Rev: src/modules/_Roxen/roxen.c:1.33
Rev: src/multiset.c:1.69
Rev: src/object.c:1.228
Rev: src/opcodes.c:1.143
Rev: src/operators.c:1.172
Rev: src/pike_types.c:1.211
Rev: src/post_modules/Shuffler/Shuffler.cmod:1.23
Rev: src/post_modules/Shuffler/a_source_pikestring.c:1.8
Rev: src/post_modules/Shuffler/a_source_system_memory.c:1.9
Rev: src/post_modules/Shuffler/b_source_normal_file.c:1.8
Rev: src/post_modules/Shuffler/c_source_stream.c:1.7
Rev: src/post_modules/Shuffler/d_source_pikestream.c:1.6
Rev: src/post_modules/Shuffler/e_source_block_pikestream.c:1.2
Rev: src/preprocessor.h:1.58
Rev: src/program.c:1.486
Rev: src/signal_handler.c:1.249
Rev: src/stralloc.c:1.153
Rev: src/stralloc.h:1.73
Rev: src/svalue.c:1.161
Rev: src/threads.c:1.211

2:   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: mapping.c,v 1.162 2003/02/01 15:43:50 mast Exp $ + || $Id: mapping.c,v 1.163 2003/03/14 15:50:44 grubba Exp $   */      #include "global.h" - RCSID("$Id: mapping.c,v 1.162 2003/02/01 15:43:50 mast Exp $"); + RCSID("$Id: mapping.c,v 1.163 2003/03/14 15:50:44 grubba Exp $");   #include "main.h"   #include "object.h"   #include "mapping.h"
228:    INITIALIZE_PROT(m);    init_mapping(m,size,0);    -  m->refs = 1; +  m->refs = 0; +  add_ref(m); /* For DMALLOC... */       DOUBLELINK(first_mapping, m);   
445:    }   #endif /* PIKE_MAPPING_KEYPAIR_LOOP */    -  nmd->refs=1; +  nmd->refs=0; +  add_ref(nmd); /* For DMALLOC... */    nmd->valrefs=0;    nmd->hardlinks=0;   
458:    md->hardlinks--;    md->valrefs--;    } -  md->refs--; +  sub_ref(md);       return nmd;   }
575:    LOW_RELOC(k); \    free_mapping_data(md); \    md=m->data; \ -  md->refs++; \ +  add_ref(md); \   }while(0)      #define PREPARE_FOR_DATA_CHANGE() \
1344: Inside #if defined(MAPPING_SIZE_DEBUG)
  #ifdef MAPPING_SIZE_DEBUG    n->debug_size=n->data->size;   #endif -  n->data->refs++; +  add_ref(n->data);    n->data->valrefs++;    n->data->hardlinks++;    debug_malloc_touch(n->data);
1871:    {    copy_svalues_recursively_no_free(Pike_sp,&k->ind, 1, &doing);    Pike_sp++; +  dmalloc_touch_svalue(Pike_sp-1);    copy_svalues_recursively_no_free(Pike_sp,&k->val, 1, &doing);    Pike_sp++; -  +  dmalloc_touch_svalue(Pike_sp-1);       mapping_insert(ret, Pike_sp-2, Pike_sp-1);    pop_n_elems(2);