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.164 2004/03/12 21:56:52 mast Exp $ + || $Id: interpret_functions.h,v 1.165 2004/03/13 12:24:10 grubba Exp $   */      /*    * Opcode definitions for the interpreter.    */      #include "global.h"      #undef CJUMP   #undef AUTO_BIGNUM_LOOP_TEST
pike.git/src/interpret_functions.h:1237:    PIKE_OPCODE_T *next_addr;    JUMP_SET_TO_PC_AT_NEXT (next_addr);    check_c_stack(8192);    switch (o_catch((PIKE_OPCODE_T *)(((INT32 *)next_addr)+1)))    {    case 1:    /* There was a return inside the evaluated code */    DO_DUMB_RETURN;    case 2:    /* Escape catch, continue after the escape instruction. */ -  DO_JUMP_TO(Pike_fp->return_addr); +  DO_JUMP_TO(Pike_fp->pc);    break;    default:    DOJUMP();    }    /* NOT_REACHED in byte-code and computed goto cases. */   });      OPCODE0_RETURN(F_ESCAPE_CATCH, "escape catch", 0, { -  JUMP_SET_TO_PC_AT_NEXT (Pike_fp->return_addr); +  JUMP_SET_TO_PC_AT_NEXT (Pike_fp->pc);    INTER_ESCAPE_CATCH;   });      OPCODE0_RETURN(F_EXIT_CATCH, "exit catch", I_UPDATE_SP, {    push_undefined(); -  JUMP_SET_TO_PC_AT_NEXT (Pike_fp->return_addr); +  JUMP_SET_TO_PC_AT_NEXT (Pike_fp->pc);    INTER_ESCAPE_CATCH;   });      OPCODE1_JUMP(F_SWITCH, "switch", I_UPDATE_ALL, {    INT32 tmp;    PIKE_OPCODE_T *addr;    JUMP_SET_TO_PC_AT_NEXT (addr);    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 *)