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.170 2005/05/18 12:36:53 mast Exp $ + || $Id: interpret_functions.h,v 1.171 2007/03/28 21:54:37 marcus Exp $   */      /*    * Opcode definitions for the interpreter.    */      #include "global.h"      #undef CJUMP   #undef AUTO_BIGNUM_LOOP_TEST
pike.git/src/interpret_functions.h:417:    if (!loc.o->prog)    Pike_error ("Cannot access variable in destructed parent object.\n");       DO_IF_DEBUG({    TRACE((5,"- Identifier=%d Offset=%d\n",    arg1,    loc.inherit->identifier_level));    });       ref_push_object(loc.o); -  Pike_sp->type=T_OBJ_INDEX; -  Pike_sp->u.integer=arg1 + loc.inherit->identifier_level; -  Pike_sp++; +  push_obj_index(arg1 + loc.inherit->identifier_level);   });      OPCODE1(F_MARK_AND_LOCAL, "mark & local", I_UPDATE_SP|I_UPDATE_M_SP, {    *(Pike_mark_sp++) = Pike_sp;    push_svalue( Pike_fp->locals + arg1);    print_return_value();   });      OPCODE1(F_LOCAL, "local", I_UPDATE_SP, {    push_svalue( Pike_fp->locals + arg1);
pike.git/src/interpret_functions.h:650:   });      OPCODE0(F_LTOSVAL2, "ltosval2", I_UPDATE_SP, {    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++;    lvalue_to_svalue_no_free(Pike_sp-2, Pike_sp-4); -  +     /* This is so that foo+=bar (and similar things) will be faster.    * It's done by freeing the old reference to foo after it has been    * pushed on the stack. That way foo can have only 1 reference if we    * are lucky, and then the low array/multiset/mapping manipulation    * routines can be destructive if they like.    */    if( (1 << Pike_sp[-2].type) &    (BIT_ARRAY | BIT_MULTISET | BIT_MAPPING | BIT_STRING) )    {    struct svalue s;
pike.git/src/interpret_functions.h:810:    }    f_add(2);    assign_lvalue(Pike_sp-3,Pike_sp-1);    pop_n_elems(3);    add_to_and_pop_done:    ; /* make gcc happy */   });      OPCODE1(F_GLOBAL_LVALUE, "& global", I_UPDATE_SP, {    ref_push_object(Pike_fp->current_object); -  push_int(arg1 + Pike_fp->context.identifier_level); -  Pike_sp[-1].type = T_OBJ_INDEX; +  push_obj_index(arg1 + Pike_fp->context.identifier_level);   });      OPCODE0(F_INC, "++x", I_UPDATE_SP, {    union anything *u=get_pointer_if_this_type(Pike_sp-2, PIKE_T_INT);    if(u    DO_IF_BIGNUM(    && !INT_TYPE_ADD_OVERFLOW(u->integer, 1)    )    )    {