Branch: Tag:

2001-06-28

2001-06-28 10:23:58 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

fixed a rather nasty memory leak

Rev: src/interpret_functions.h:1.63

1:   /* -  * $Id: interpret_functions.h,v 1.62 2001/06/19 23:59:33 hubbe Exp $ +  * $Id: interpret_functions.h,v 1.63 2001/06/28 10:23:58 hubbe Exp $    *    * Opcode definitions for the interpreter.    */
420:   BREAK;      OPCODE0(F_LTOSVAL, "lvalue to svalue") +  dmalloc_touch_svalue(Pike_sp-2); +  dmalloc_touch_svalue(Pike_sp-1);    lvalue_to_svalue_no_free(Pike_sp, Pike_sp-2);    Pike_sp++;   BREAK;      OPCODE0(F_LTOSVAL2, "ltosval2") -  +  dmalloc_touch_svalue(Pike_sp-3); +  dmalloc_touch_svalue(Pike_sp-2); +  dmalloc_touch_svalue(Pike_sp-1);    Pike_sp[0] = Pike_sp[-1];    Pike_sp[-1].type = PIKE_T_INT;    Pike_sp++;
487:    /* Optimization for a rather common case. Makes it 30% faster. */    Pike_sp[-1].u.integer += Pike_sp[-2].u.integer;    assign_lvalue(Pike_sp-4,Pike_sp-1); -  Pike_sp-=4; /* known integers and a lvalue */ +  Pike_sp-=2; +  pop_n_elems(2);    goto add_and_pop_done;    }    }