pike.git / src / interpreter.h

version» Context lines:

pike.git/src/interpreter.h:254:    CASE(F_PREFIX2_WORDX256);    prefix2 += (pc++)[0]<<16;    CASE(F_PREFIX2_CHARX256);    prefix2 += (pc++)[0]<<8;    DONE;   #endif /* HAVE_COMPUTED_GOTO */         #define INTERPRETER    - #define OPCODE0(OP, DESC, CODE) CASE(OP); CODE; DONE - #define OPCODE1(OP, DESC, CODE) CASE(OP); { \ + #define OPCODE0(OP, DESC, FLAGS, CODE) CASE(OP); CODE; DONE + #define OPCODE1(OP, DESC, FLAGS, CODE) CASE(OP); { \    INT32 arg1=GET_ARG(); \    FETCH; \    CODE; \    } DONE    - #define OPCODE2(OP, DESC, CODE) CASE(OP); { \ + #define OPCODE2(OP, DESC, FLAGS, CODE) CASE(OP); { \    INT32 arg1=GET_ARG(); \    INT32 arg2=GET_ARG2(); \    FETCH; \    CODE; \    } DONE    - #define OPCODE0_TAIL(OP, DESC, CODE) CASE(OP); CODE - #define OPCODE1_TAIL(OP, DESC, CODE) CASE(OP); CODE - #define OPCODE2_TAIL(OP, DESC, CODE) CASE(OP); CODE + #define OPCODE0_TAIL(OP, DESC, FLAGS, CODE) CASE(OP); CODE + #define OPCODE1_TAIL(OP, DESC, FLAGS, CODE) CASE(OP); CODE + #define OPCODE2_TAIL(OP, DESC, FLAGS, CODE) CASE(OP); CODE    - #define OPCODE0_RETURN(OP, DESC, CODE) OPCODE0(OP, DESC, CODE) - #define OPCODE1_RETURN(OP, DESC, CODE) OPCODE1(OP, DESC, CODE) - #define OPCODE2_RETURN(OP, DESC, CODE) OPCODE2(OP, DESC, CODE) - #define OPCODE0_TAILRETURN(OP, DESC, CODE) OPCODE0_TAIL(OP, DESC, CODE) - #define OPCODE1_TAILRETURN(OP, DESC, CODE) OPCODE1_TAIL(OP, DESC, CODE) - #define OPCODE2_TAILRETURN(OP, DESC, CODE) OPCODE2_TAIL(OP, DESC, CODE) + #define OPCODE0_RETURN(OP, DESC, FLAGS, CODE) OPCODE0(OP, DESC, FLAGS, CODE) + #define OPCODE1_RETURN(OP, DESC, FLAGS, CODE) OPCODE1(OP, DESC, FLAGS, CODE) + #define OPCODE2_RETURN(OP, DESC, FLAGS, CODE) OPCODE2(OP, DESC, FLAGS, CODE) + #define OPCODE0_TAILRETURN(OP, DESC, FLAGS, CODE) OPCODE0_TAIL(OP, DESC, FLAGS, CODE) + #define OPCODE1_TAILRETURN(OP, DESC, FLAGS, CODE) OPCODE1_TAIL(OP, DESC, FLAGS, CODE) + #define OPCODE2_TAILRETURN(OP, DESC, FLAGS, CODE) OPCODE2_TAIL(OP, DESC, FLAGS, CODE)    - #define OPCODE0_JUMP(OP, DESC, CODE) CASE(OP); CODE; DONE - #define OPCODE0_TAILJUMP(OP, DESC, CODE) CASE(OP); CODE + #define OPCODE0_JUMP(OP, DESC, FLAGS, CODE) CASE(OP); CODE; DONE + #define OPCODE0_TAILJUMP(OP, DESC, FLAGS, CODE) CASE(OP); CODE      /* These are something of a special case as they    * requires a POINTER stored explicitly after    * the instruction itself.    */ - #define OPCODE1_JUMP(OP, DESC, CODE) CASE(OP); { \ + #define OPCODE1_JUMP(OP, DESC, FLAGS, CODE) CASE(OP); { \    INT32 arg1=GET_ARG(); \    FETCH; \    CODE; \    } DONE    - #define OPCODE2_JUMP(OP, DESC, CODE) CASE(OP); { \ + #define OPCODE2_JUMP(OP, DESC, FLAGS, CODE) CASE(OP); { \    INT32 arg1=GET_ARG(); \    INT32 arg2=GET_ARG2(); \    FETCH; \    CODE; \    } DONE    - #define OPCODE1_TAILJUMP(OP, DESC, CODE) CASE(OP); CODE - #define OPCODE2_TAILJUMP(OP, DESC, CODE) CASE(OP); CODE + #define OPCODE1_TAILJUMP(OP, DESC, FLAGS, CODE) CASE(OP); CODE + #define OPCODE2_TAILJUMP(OP, DESC, FLAGS, CODE) CASE(OP); CODE      #include "interpret_functions.h"      #ifndef HAVE_COMPUTED_GOTO    default:    fatal("Strange instruction %ld\n",(long)instr);    }   #endif /* !HAVE_COMPUTED_GOTO */    }