pike.git / src / interpret_functions.h

version» Context lines:

pike.git/src/interpret_functions.h:1:   /* -  * $Id: interpret_functions.h,v 1.67 2001/07/02 07:02:45 hubbe Exp $ +  * $Id: interpret_functions.h,v 1.68 2001/07/06 14:07:55 grubba Exp $    *    * Opcode definitions for the interpreter.    */      #include "global.h"      OPCODE0(F_UNDEFINED,"push UNDEFINED")    push_int(0);    Pike_sp[-1].subtype=NUMBER_UNDEFINED;   BREAK;
pike.git/src/interpret_functions.h:891:      OPCODE1_JUMP(F_BRANCH_IF_LOCAL,"branch if local")    if(IS_ZERO(Pike_fp->locals + arg1))    {    SKIPJUMP();    }else{    DOJUMP();    }   BREAK;    -  CASE(F_BRANCH_IF_NOT_LOCAL); -  instr=GET_ARG(); -  if(!IS_ZERO(Pike_fp->locals + instr)) + OPCODE1_JUMP(F_BRANCH_IF_NOT_LOCAL, "branch if !local") +  if(!IS_ZERO(Pike_fp->locals + arg1))    {    SKIPJUMP();    }else{    DOJUMP();    } -  break; + BREAK;       CJUMP(F_BRANCH_WHEN_EQ, is_eq);    CJUMP(F_BRANCH_WHEN_NE,!is_eq);    CJUMP(F_BRANCH_WHEN_LT, is_lt);    CJUMP(F_BRANCH_WHEN_LE,!is_gt);    CJUMP(F_BRANCH_WHEN_GT, is_gt);    CJUMP(F_BRANCH_WHEN_GE,!is_lt);    -  CASE(F_BRANCH_AND_POP_WHEN_ZERO); + OPCODE0_JUMP(F_BRANCH_AND_POP_WHEN_ZERO, "branch & pop if zero")    if(!IS_ZERO(Pike_sp-1))    {    SKIPJUMP();    }else{    DOJUMP();    pop_stack();    } -  break; + BREAK;    -  CASE(F_BRANCH_AND_POP_WHEN_NON_ZERO); + OPCODE0_JUMP(F_BRANCH_AND_POP_WHEN_NON_ZERO, "branch & pop if !zero")    if(IS_ZERO(Pike_sp-1))    {    SKIPJUMP();    }else{    DOJUMP();    pop_stack();    } -  break; + BREAK;    -  CASE(F_LAND); + OPCODE0_JUMP(F_LAND, "&&")    if(!IS_ZERO(Pike_sp-1))    {    SKIPJUMP();    pop_stack();    }else{    DOJUMP();    } -  break; + BREAK;    -  CASE(F_LOR); + OPCODE0_JUMP(F_LOR, "||")    if(IS_ZERO(Pike_sp-1))    {    SKIPJUMP();    pop_stack();    }else{    DOJUMP();    } -  break; + BREAK;    -  CASE(F_EQ_OR); + OPCODE0_JUMP(F_EQ_OR, "==||")    if(!is_eq(Pike_sp-2,Pike_sp-1))    {    pop_n_elems(2);    SKIPJUMP();    }else{    pop_n_elems(2);    push_int(1);    DOJUMP();    } -  break; + BREAK;    -  CASE(F_EQ_AND); + OPCODE0_JUMP(F_EQ_AND, "==&&")    if(is_eq(Pike_sp-2,Pike_sp-1))    {    pop_n_elems(2);    SKIPJUMP();    }else{    pop_n_elems(2);    push_int(0);    DOJUMP();    } -  break; + BREAK;    -  CASE(F_CATCH); + OPCODE0_JUMP(F_CATCH, "catch")    switch (o_catch(pc+sizeof(INT32))) {    case 1:    /* There was a return inside the evaluated code */    goto do_dumb_return;    case 2:    pc = Pike_fp->pc;    break;    default:    pc+=GET_JUMP();    } -  break; + BREAK;      OPCODE0(F_ESCAPE_CATCH, "escape catch")   {    Pike_fp->pc = pc;    return -2;   }   BREAK;      OPCODE0(F_THROW_ZERO, "throw(0)")    push_int(0);