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: block_alloc.h,v 1.62 2003/02/24 20:00:52 grubba Exp $ + || $Id: block_alloc.h,v 1.63 2003/03/14 15:50:43 grubba Exp $   */      #undef PRE_INIT_BLOCK
23:   /* Note: The block_alloc mutex is held while PRE_INIT_BLOCK runs. */   #define PRE_INIT_BLOCK(X)   #define INIT_BLOCK(X) + #ifdef DEBUG_MALLOC + #define EXIT_BLOCK(X) MEMSET((X), 0x55, sizeof(*(X))) + #else   #define EXIT_BLOCK(X) -  + #endif /* DEBUG_MALLOC */   #define COUNT_BLOCK(X)   #define COUNT_OTHER()   #define BLOCK_ALLOC_HSIZE_SHIFT 2
186:    return; \    } \    Pike_fatal("really_free_%s called on non-block_alloc region (%p).\n", \ -  #DATA, d); \ +  #DATA, d); \   } \   ) \    \
248:    } \    \    d->BLOCK_ALLOC_NEXT = (void *)blk->PIKE_CONCAT3(free_,DATA,s); \ +  blk->PIKE_CONCAT3(free_,DATA,s)=d; \    PRE_INIT_BLOCK(d); \    /* Mark block as unavailable. */ \    PIKE_MEM_NA(*d); \ -  blk->PIKE_CONCAT3(free_,DATA,s)=d; \ +     \    if(!--blk->BLOCK_ALLOC_USED && \    ++PIKE_CONCAT3(num_empty_,DATA,_blocks) > MAX_EMPTY_BLOCKS) { \