pike.git / src / peep.c

version» Context lines:

pike.git/src/peep.c:8:   #include "main.h"   #include "error.h"   #include "lex.h"   #include "pike_memory.h"   #include "peep.h"   #include "dmalloc.h"   #include "stuff.h"   #include "bignum.h"   #include "opcodes.h"    - RCSID("$Id: peep.c,v 1.36 2000/08/17 19:15:59 grubba Exp $"); + RCSID("$Id: peep.c,v 1.37 2000/09/22 12:54:10 grubba Exp $");      struct p_instr_s   {    short opcode;    short line;    struct pike_string *file;    INT32 arg;    INT32 arg2;   };   
pike.git/src/peep.c:164:    {    case 0 : break;    case 1 : ins_f_byte(F_PREFIX_256); break;    case 2 : ins_f_byte(F_PREFIX_512); break;    case 3 : ins_f_byte(F_PREFIX_768); break;    case 4 : ins_f_byte(F_PREFIX_1024); break;    default:    if( b < 256*256)    {    ins_f_byte(F_PREFIX_CHARX256); -  add_to_program(b>>8); +  add_to_program((unsigned char)(b>>8));    }else if(b < 256*256*256) {    ins_f_byte(F_PREFIX_WORDX256); -  add_to_program(b>>16); -  add_to_program(b>>8); +  add_to_program((unsigned char)(b>>16)); +  add_to_program((unsigned char)(b>>8));    }else{    ins_f_byte(F_PREFIX_24BITX256); -  add_to_program(b>>24); -  add_to_program(b>>16); -  add_to_program(b>>8); +  add_to_program((unsigned char)(b>>24)); +  add_to_program((unsigned char)(b>>16)); +  add_to_program((unsigned char)(b>>8));    }    }    ins_f_byte(a); -  add_to_program(b); +  add_to_program((unsigned char)b);   }      static void ins_f_byte_with_2_args(unsigned int a,    unsigned INT32 c,    unsigned INT32 b)   {       switch(b >> 8)    {    case 0 : break;    case 1 : ins_f_byte(F_PREFIX2_256); break;    case 2 : ins_f_byte(F_PREFIX2_512); break;    case 3 : ins_f_byte(F_PREFIX2_768); break;    case 4 : ins_f_byte(F_PREFIX2_1024); break;    default:    if( b < 256*256)    {    ins_f_byte(F_PREFIX2_CHARX256); -  add_to_program(b>>8); +  add_to_program((unsigned char)(b>>8));    }else if(b < 256*256*256) {    ins_f_byte(F_PREFIX2_WORDX256); -  add_to_program(b>>16); -  add_to_program(b>>8); +  add_to_program((unsigned char)(b>>16)); +  add_to_program((unsigned char)(b>>8));    }else{    ins_f_byte(F_PREFIX2_24BITX256); -  add_to_program(b>>24); -  add_to_program(b>>16); -  add_to_program(b>>8); +  add_to_program((unsigned char)(b>>24)); +  add_to_program((unsigned char)(b>>16)); +  add_to_program((unsigned char)(b>>8));    }    }    ins_f_byte_with_arg(a,c); -  add_to_program(b); +  add_to_program((unsigned char)b);   }      void assemble(void)   {    INT32 d,max_label,tmp;    INT32 *labels, *jumps, *uses;    ptrdiff_t e, length;    p_instr *c;       c=(p_instr *)instrbuf.s.str;
pike.git/src/peep.c:324:    switch(c->opcode)    {    case F_NOP:    case F_START_FUNCTION:    break;    case F_ALIGN:    while(PC % c->arg) add_to_program(0);    break;       case F_BYTE: -  add_to_program(c->arg); +  add_to_program((unsigned char)(c->arg));    break;       case F_DATA:    ins_int(c->arg, (void(*)(char))add_to_program);    break;       case F_LABEL:    if(c->arg == -1) break;   #ifdef PIKE_DEBUG    if(c->arg > max_label || c->arg < 0)