pike.git / src / interpret_functions.h

version» Context lines:

pike.git/src/interpret_functions.h:1:   /*   || 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: interpret_functions.h,v 1.161 2003/11/09 01:10:13 mast Exp $ + || $Id: interpret_functions.h,v 1.162 2003/11/10 01:06:56 mast Exp $   */      /*    * Opcode definitions for the interpreter.    */      #include "global.h"      #undef CJUMP   #undef AUTO_BIGNUM_LOOP_TEST
pike.git/src/interpret_functions.h:735:    if( (1 << Pike_sp[-2].type) &    (BIT_ARRAY | BIT_MULTISET | BIT_MAPPING | BIT_STRING) )    {    struct svalue s;    s.type=PIKE_T_INT;    s.subtype=0;    s.u.integer=0;    assign_lvalue(Pike_sp-4,&s);    } else if (Pike_sp[-2].type == T_OBJECT) {    /* One ref in the lvalue, and one on the stack. */ +  int i;    if(Pike_sp[-2].u.object->refs <= 2 && -  FIND_LFUN(Pike_sp[-2].u.object->prog, LFUN_ADD_EQ) != -1) +  (i = FIND_LFUN(Pike_sp[-2].u.object->prog, LFUN_ADD_EQ)) != -1)    { -  apply_lfun(Pike_sp[-2].u.object, LFUN_ADD_EQ, 1); +  apply_low(Pike_sp[-2].u.object, i, 1);    /* NB: The lvalue already contains the object, so    * no need to reassign it.    */    pop_stack();    stack_pop_2_elems_keep_top();    goto add_to_done;    }    }    f_add(2);    assign_lvalue(Pike_sp-3,Pike_sp-1);
pike.git/src/interpret_functions.h:791:    if( (1 << Pike_sp[-2].type) &    (BIT_ARRAY | BIT_MULTISET | BIT_MAPPING | BIT_STRING) )    {    struct svalue s;    s.type=PIKE_T_INT;    s.subtype=0;    s.u.integer=0;    assign_lvalue(Pike_sp-4,&s);    } else if (Pike_sp[-2].type == PIKE_T_OBJECT) {    /* One ref in the lvalue, and one on the stack. */ +  int i;    if(Pike_sp[-2].u.object->refs <= 2 && -  FIND_LFUN(Pike_sp[-2].u.object->prog, LFUN_ADD_EQ) != -1) +  (i = FIND_LFUN(Pike_sp[-2].u.object->prog, LFUN_ADD_EQ)) != -1)    { -  apply_lfun(Pike_sp[-2].u.object, LFUN_ADD_EQ, 1); +  apply_low(Pike_sp[-2].u.object, i, 1);    /* NB: The lvalue already contains the object, so    * no need to reassign it.    */    pop_n_elems(4);    goto add_to_and_pop_done;    }    }    f_add(2);    assign_lvalue(Pike_sp-3,Pike_sp-1);    pop_n_elems(3);