pike.git / src / interpret_functions.h

version» Context lines:

pike.git/src/interpret_functions.h:1:   /* -  * $Id: interpret_functions.h,v 1.92 2001/09/23 19:03:56 grubba Exp $ +  * $Id: interpret_functions.h,v 1.93 2001/09/24 14:17:34 grubba Exp $    *    * Opcode definitions for the interpreter.    */      #include "global.h"      #undef CJUMP   #undef AUTO_BIGNUM_LOOP_TEST   #undef LOOP   #undef COMPARISON
pike.git/src/interpret_functions.h:217:    copy_shared_string(Pike_sp->u.string,Pike_fp->context.prog->strings[arg1]);    Pike_sp->type=PIKE_T_STRING;    Pike_sp->subtype=1; /* Magic */    Pike_sp++;    print_return_value();   });      OPCODE1(F_LOOKUP_LFUN, "->lfun", {    struct svalue tmp;    struct object *o; -  int id; +     if ((sp[-1].type == T_OBJECT) && ((o = Pike_sp[-1].u.object)->prog) &&    (FIND_LFUN(o->prog, LFUN_ARROW) == -1)) {    int id = FIND_LFUN(o->prog, arg1);    if ((id != -1) &&    (!(o->prog->identifier_references[id].id_flags &    (ID_STATIC|ID_PRIVATE|ID_HIDDEN)))) {    low_object_index_no_free(&tmp, o, id);    } else {    /* Not found. */    tmp.type = T_INT;
pike.git/src/interpret_functions.h:2132:      /* Ugly code duplication */   OPCODE0_JUMP(F_RECUR_AND_POP, "recur & pop", {    DO_RECUR(PIKE_FRAME_RETURN_POP);   });         /* Assume that the number of arguments is correct */   /* FIXME: adjust Pike_mark_sp */   OPCODE0_JUMP(F_TAIL_RECUR, "tail recursion", { -  int x; +     INT32 num_locals;    PIKE_OPCODE_T *addr;    INT32 args;       fast_check_threads_etc(6);       addr=PROG_COUNTER+GET_JUMP();    args=addr[-1];    num_locals=addr[-2];