pike.git / src / peep.c

version» Context lines:

pike.git/src/peep.c:8:   #include "stralloc.h"   #include "buffer.h"   #include "program.h"   #include "las.h"   #include "docode.h"   #include "pike_embed.h"   #include "pike_error.h"   #include "lex.h"   #include "pike_memory.h"   #include "peep.h" - #include "stuff.h" +    #include "bignum.h"   #include "opcodes.h"   #include "builtin_functions.h"   #include "constants.h"   #include "interpret.h"   #include "pikecode.h"   #include "pike_compiler.h"      static int hasarg(int opcode)   {
pike.git/src/peep.c:371:    c[e].arg=c[tmp].arg;    continue;    }      #define TWOO(X,Y) (((X)<<8)+(Y))       switch(TWOO(c[e].opcode,c[tmp].opcode))    {    case TWOO(F_LOR,F_BRANCH_WHEN_NON_ZERO):    c[e].opcode=F_BRANCH_WHEN_NON_ZERO; -  /* FALL_THROUGH */ +  /* FALLTHRU */    case TWOO(F_LOR,F_LOR):    c[e].arg=c[tmp].arg;    continue;       case TWOO(F_LAND,F_BRANCH_WHEN_ZERO):    c[e].opcode=F_BRANCH_WHEN_ZERO; -  /* FALL_THROUGH */ +  /* FALLTHRU */    case TWOO(F_LAND,F_LAND):    c[e].arg=c[tmp].arg;    continue;       case TWOO(F_LOR, F_RETURN):    c[e].opcode=F_RETURN_IF_TRUE;    goto pointer_opcode_done;       case TWOO(F_BRANCH, F_RETURN):    case TWOO(F_BRANCH, F_RETURN_0):
pike.git/src/peep.c:526:    c->file,    "store_line"));   #ifdef PIKE_DEBUG    if (c->opcode < F_MAX_OPCODE)    ADD_COMPILED(c->opcode);   #endif /* PIKE_DEBUG */    }       switch(c->opcode)    { +  case F_START_FUNCTION: + #ifdef INS_START_FUNCTION +  INS_START_FUNCTION(); + #endif +  break;    case F_NOP:    case F_NOTREACHED: -  case F_START_FUNCTION: +     break;    case F_ALIGN:    ins_align(c->arg);    break;       case F_BYTE:    ins_byte((unsigned char)(c->arg));    break;       case F_DATA:
pike.git/src/peep.c:563: Inside #if defined(PIKE_DEBUG)
   if (!(debug_options & NO_PEEP_OPTIMIZING))    Pike_fatal ("Failed to optimize away an unused label.\n");   #endif    break;    }   #ifdef PIKE_DEBUG    if(c->arg > max_label || c->arg < 0)    Pike_fatal("max_label calculation failed!\n");       if(labels[c->arg] != -1) -  Pike_fatal("Duplicate label!\n"); +  Pike_fatal("Duplicate label %d!\n", c->arg);   #endif    FLUSH_CODE_GENERATOR_STATE();    labels[c->arg] = (INT32)PIKE_PC;    if ((e+1 < length) &&    (c[1].opcode != F_LABEL) &&    (c[1].opcode != F_BYTE) &&    (c[1].opcode != F_ENTRY) &&    (c[1].opcode != F_DATA)) {    /* Don't add redundant code before labels or raw data. */    UPDATE_PC();
pike.git/src/peep.c:638: Inside #if defined(INS_F_JUMP_WITH_TWO_ARGS)
   }   #endif /* PIKE_DEBUG */    c++;    e++;    UPDATE_F_JUMP(tmp, jumps[c->arg]);    jumps[c->arg]=~tmp;    break;    }   #endif /* INS_F_JUMP_WITH_TWO_ARGS */    -  /* FALL_THROUGH -  * +  /* FALLTHRU */ +  /*    * Note that the pointer in this case will be handled by the    * next turn through the loop.    */       case I_TWO_ARGS:    case I_ISJUMPARGS:    ins_f_byte_with_2_args(c->opcode, c->arg, c->arg2);    break;       case I_ISPTRJUMPARG:
pike.git/src/peep.c:669: Inside #if defined(INS_F_JUMP_WITH_ARG)
   }   #endif /* PIKE_DEBUG */    c++;    e++;    UPDATE_F_JUMP(tmp, jumps[c->arg]);    jumps[c->arg]=~tmp;    break;    }   #endif /* INS_F_JUMP_WITH_ARG */    -  /* FALL_THROUGH -  * +  /* FALLTHRU */ +  /*    * Note that the pointer in this case will be handled by the    * next turn through the loop.    */       case I_HASARG:    case I_ISJUMPARG:    ins_f_byte_with_arg(c->opcode, c->arg);    break;       case 0: