pike.git / src / interpret_functions.h

version» Context lines:

pike.git/src/interpret_functions.h:1:   /* -  * $Id: interpret_functions.h,v 1.107 2002/09/20 12:31:36 marcus Exp $ +  * $Id: interpret_functions.h,v 1.108 2002/09/23 20:12:59 mast 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:1161:    DO_JUMP_TO(PROG_COUNTER + GET_JUMP());    }    /* NOT_REACHED */   });      OPCODE0_RETURN(F_ESCAPE_CATCH, "escape catch", 0, {    Pike_fp->pc = PROG_COUNTER;    INTER_ESCAPE_CATCH;   });    - OPCODE0(F_THROW_ZERO, "throw(0)", 0, { -  push_int(0); -  f_throw(1); + OPCODE0_RETURN(F_EXIT_CATCH, "exit catch", 0, { +  push_undefined(); +  Pike_fp->pc = PROG_COUNTER; +  INTER_ESCAPE_CATCH;   });      OPCODE1(F_SWITCH, "switch", 0, {    INT32 tmp;    PIKE_OPCODE_T *addr = PROG_COUNTER;    tmp=switch_lookup(Pike_fp->context.prog->    constants[arg1].sval.u.array,Pike_sp-1);    addr = DO_IF_ELSE_COMPUTED_GOTO(addr, (PIKE_OPCODE_T *)    DO_ALIGN(addr,((ptrdiff_t)sizeof(INT32))));    addr = (PIKE_OPCODE_T *)(((INT32 *)addr) + (tmp>=0 ? 1+tmp*2 : 2*~tmp));