pike.git / src / peep.c

version» Context lines:

pike.git/src/peep.c: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: peep.c,v 1.86 2003/06/11 23:02:31 nilsson Exp $ + || $Id: peep.c,v 1.87 2003/08/06 18:05:27 mast Exp $   */      #include "global.h"   #include "language.h"   #include "stralloc.h"   #include "dynamic_buffer.h"   #include "program.h"   #include "las.h"   #include "docode.h"   #include "main.h"
pike.git/src/peep.c:19:   #include "peep.h"   #include "dmalloc.h"   #include "stuff.h"   #include "bignum.h"   #include "opcodes.h"   #include "builtin_functions.h"   #include "constants.h"   #include "interpret.h"   #include "pikecode.h"    - RCSID("$Id: peep.c,v 1.86 2003/06/11 23:02:31 nilsson Exp $"); + RCSID("$Id: peep.c,v 1.87 2003/08/06 18:05:27 mast Exp $");      static void asm_opt(void);      dynamic_buffer instrbuf;      #ifdef PIKE_DEBUG   static int hasarg(int opcode)   {    return instrs[opcode-F_OFFSET].flags & I_HASARG;   }
pike.git/src/peep.c:362:    Pike_fatal("Jump to unknown label?\n");   #endif    tmp = DO_NOT_WARN((INT32)PIKE_PC);    ins_pointer(jumps[c->arg]);    jumps[c->arg]=tmp;    break;       default:    switch(instrs[c->opcode - F_OFFSET].flags & I_IS_MASK)    { -  case I_ISJUMP: +  case I_ISPTRJUMP:   #ifdef INS_F_JUMP    tmp=INS_F_JUMP(c->opcode);    if(tmp != -1)    {    UPDATE_F_JUMP(tmp, jumps[c->arg]);    jumps[c->arg]=~tmp;    break;    }   #endif   
pike.git/src/peep.c:384: Inside #if defined(PIKE_DEBUG)
     #ifdef PIKE_DEBUG    if(c->arg > max_label || c->arg < 0)    Pike_fatal("Jump to unknown label?\n");   #endif    tmp = DO_NOT_WARN((INT32)PIKE_PC);    ins_pointer(jumps[c->arg]);    jumps[c->arg]=tmp;    break;    -  case I_ISJUMPARGS: +  case I_ISPTRJUMPARGS:   #ifdef INS_F_JUMP_WITH_TWO_ARGS    tmp = INS_F_JUMP_WITH_TWO_ARGS(c->opcode, c->arg, c->arg2);    if(tmp != -1)    {   #ifdef ADJUST_PIKE_PC    if (instrs[c->opcode - F_OFFSET].flags & I_PC_AT_NEXT)    ADJUST_PIKE_PC (PIKE_PC);   #endif       /* Step ahead to the pointer instruction, and inline it. */
pike.git/src/peep.c:416:    }   #endif /* INS_F_JUMP_WITH_TWO_ARGS */       /* FALL_THROUGH    *    * 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_ISJUMPARG: +  case I_ISPTRJUMPARG:   #ifdef INS_F_JUMP_WITH_ARG    tmp = INS_F_JUMP_WITH_ARG(c->opcode, c->arg);    if(tmp != -1)    {   #ifdef ADJUST_PIKE_PC    if (instrs[c->opcode - F_OFFSET].flags & I_PC_AT_NEXT)    ADJUST_PIKE_PC (PIKE_PC);   #endif       /* Step ahead to the pointer instruction, and inline it. */
pike.git/src/peep.c:451:    }   #endif /* INS_F_JUMP_WITH_ARG */       /* FALL_THROUGH    *    * 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: -  +  case I_ISJUMP:    ins_f_byte(c->opcode);    break;      #ifdef PIKE_DEBUG    default:    Pike_fatal("Unknown instruction type.\n");   #endif    }    }   
pike.git/src/peep.c:486: Inside #if defined(PIKE_DEBUG)
   (e+1 < length)?instrs[c[1].opcode - F_OFFSET].name:"EOI",    (e+1 < length)?c[1].opcode:0, F_POINTER);    }    }   #endif /* PIKE_DEBUG */      #ifdef ALIGN_PIKE_JUMPS    if(e+1 < length)    {    /* FIXME: Note that this code won't work for opcodes of type -  * I_ISJUMPARG or I_ISJUMPARGS, since c may already +  * I_ISPTRJUMPARG or I_ISPTRJUMPARGS, since c may already    * have been advanced to the corresponding F_POINTER.    * With the current opcode set this is a non-issue, but...    * /grubba 2002-11-02    */    switch(c->opcode)    {    case F_RETURN:    case F_VOLATILE_RETURN:    case F_BRANCH:    case F_RETURN_0: