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: operators.c,v 1.171 2003/01/26 17:04:03 nilsson Exp $ + || $Id: operators.c,v 1.172 2003/03/14 15:50:46 grubba Exp $   */      #include "global.h"   #include <math.h> - RCSID("$Id: operators.c,v 1.171 2003/01/26 17:04:03 nilsson Exp $"); + RCSID("$Id: operators.c,v 1.172 2003/03/14 15:50:46 grubba Exp $");   #include "interpret.h"   #include "svalue.h"   #include "multiset.h"
357:    if (save_sp[e].type == T_STRING)    break;    *(sp++) = save_sp[e]; +  dmalloc_touch_svalue(Pike_sp-1);    }    /* Perform the addition. */    f_add(args+e); -  +  dmalloc_touch_svalue(Pike_sp-1);    save_sp[--e] = *(--sp);   #ifdef PIKE_DEBUG    if (sp != save_sp) {
1379:       default:    r_speedup((args+1)>>1,func); +  dmalloc_touch_svalue(Pike_sp-1);    tmp=*--sp;    SET_ONERROR(err,do_free_svalue,&tmp);    r_speedup(args>>1,func);
3114:    if(from<0) from = 0;    to = sp[-1].u.integer;    if(to<from-1) to = from-1; +  dmalloc_touch_svalue(Pike_sp-1); +  dmalloc_touch_svalue(Pike_sp-2);    sp-=2;       switch(sp[-1].type)
3558:    }else{    lvalue_to_svalue_no_free(sp,THIS->lval);    sp++; +  dmalloc_touch_svalue(Pike_sp-1);    if(sp[-1].type != T_STRING) Pike_error("string[]= failed.\n");    if(i<0) i+=sp[-1].u.string->len;    if(i<0 || i>=sp[-1].u.string->len)