pike.git / src / interpreter.h

version» Context lines:

pike.git/src/interpreter.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$ +    */      #undef LOW_GET_ARG   #undef LOW_GET_JUMP   #undef LOW_SKIPJUMP   #undef GET_ARG   #undef GET_ARG2   #undef GET_JUMP   #undef SKIPJUMP   #undef DOJUMP
pike.git/src/interpreter.h:95:    unsigned INT32 prefix2=0,prefix=0;   #endif /* HAVE_COMPUTED_GOTO */    /* Variables that are commonly used by the various opcodes.    * They are defined here to reduce the size of the stack frame.    */    struct svalue tmp, tmp2;    struct external_variable_context loc;    struct program *p;    struct object *o;    struct svalue *s; +  PIKE_OPCODE_T *addr;    DO_IF_DEBUG(dynamic_buffer save_buf);      #undef LOCAL_VAR   #define LOCAL_VAR(X) /* Local variable defined above. */      #ifdef HAVE_COMPUTED_GOTO    goto *strap;    normal_strap:   #endif /* HAVE_COMPUTED_GOTO */   
pike.git/src/interpreter.h:131:   #else /* !HAVE_COMPUTED_GOTO */    switch(instr)    {    /* NOTE: The prefix handling is not needed in computed-goto mode. */    /* Support to allow large arguments */    CASE(F_PREFIX_256); prefix+=256; DONE;    CASE(F_PREFIX_512); prefix+=512; DONE;    CASE(F_PREFIX_768); prefix+=768; DONE;    CASE(F_PREFIX_1024); prefix+=1024; DONE;    CASE(F_PREFIX_24BITX256); -  prefix += (pc++)[0]<<24; +  prefix += (unsigned INT32)(pc++)[0]<<24;    CASE(F_PREFIX_WORDX256); -  prefix += (pc++)[0]<<16; +  prefix += (unsigned INT32)(pc++)[0]<<16;    CASE(F_PREFIX_CHARX256);    prefix += (pc++)[0]<<8;    DONE;       /* Support to allow large arguments */    CASE(F_PREFIX2_256); prefix2+=256; DONE;    CASE(F_PREFIX2_512); prefix2+=512; DONE;    CASE(F_PREFIX2_768); prefix2+=768; DONE;    CASE(F_PREFIX2_1024); prefix2+=1024; DONE;    CASE(F_PREFIX2_24BITX256); -  prefix2 += (pc++)[0]<<24; +  prefix2 += (unsigned INT32)(pc++)[0]<<24;    CASE(F_PREFIX2_WORDX256); -  prefix2 += (pc++)[0]<<16; +  prefix2 += (unsigned INT32)(pc++)[0]<<16;    CASE(F_PREFIX2_CHARX256);    prefix2 += (pc++)[0]<<8;    DONE;   #endif /* HAVE_COMPUTED_GOTO */         #define INTERPRETER      #define OPCODE0(OP, DESC, FLAGS, CODE) CASE(OP); CODE; DONE   #define OPCODE1(OP, DESC, FLAGS, CODE) CASE(OP); { \
pike.git/src/interpreter.h:230:      #include "interpret_functions.h"      #ifndef HAVE_COMPUTED_GOTO    default:    Pike_fatal("Strange instruction %ld\n",(long)instr);    }   #endif /* !HAVE_COMPUTED_GOTO */    }    -  /* NOT_REACHED */ +  UNREACHABLE();      #ifdef HAVE_COMPUTED_GOTO      #undef OPCODE0   #undef OPCODE1   #undef OPCODE2   #undef OPCODE0_TAIL   #undef OPCODE1_TAIL   #undef OPCODE2_TAIL   #undef OPCODE0_JUMP
pike.git/src/interpreter.h:346:    NULL_LABEL(F_PREFIX2_CHARX256),    NULL_LABEL(F_PREFIX2_WORDX256),    NULL_LABEL(F_PREFIX2_24BITX256),      #include "interpret_protos.h"    };      #ifdef PIKE_DEBUG    if (sizeof(table) != (F_MAX_OPCODE-F_OFFSET)*sizeof(void *))    Pike_fatal("opcode_to_label out of sync: 0x%08lx != 0x%08lx\n", -  DO_NOT_WARN((long)sizeof(table)), -  DO_NOT_WARN((long)((F_MAX_OPCODE-F_OFFSET)*sizeof(void *)))); +  (long)sizeof(table), +  (long)((F_MAX_OPCODE-F_OFFSET)*sizeof(void *)));   #endif /* PIKE_DEBUG */    fcode_to_opcode = table;    opcode_to_fcode = lookup;       qsort(lookup, F_MAX_OPCODE-F_OFFSET, sizeof(struct op_2_f),    lookup_sort_fun);       return 0;    }   #endif /* HAVE_COMPUTED_GOTO */   }