Branch: Tag:

2000-05-01

2000-05-01 02:11:25 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

all recursive functions now optimized.. (no real need for 'local' or
'inline' in those cases anymore)

Rev: src/docode.c:1.71
Rev: src/interpret_functions.h:1.19
Rev: src/language.yacc:1.182
Rev: src/las.c:1.176
Rev: src/las.h:1.36
Rev: src/lex.c:1.79
Rev: src/peep.c:1.32
Rev: src/peep.in:1.35
Rev: src/program.c:1.235

14:   #include "stuff.h"   #include "bignum.h"    - RCSID("$Id: peep.c,v 1.31 2000/04/21 00:29:48 hubbe Exp $"); + RCSID("$Id: peep.c,v 1.32 2000/05/01 02:11:25 hubbe Exp $");      struct p_instr_s   {
246:       c=(p_instr *)instrbuf.s.str;    for(e=0;e<length;e++) -  if(c[e].opcode == F_LABEL) +  if(c[e].opcode == F_LABEL && c[e].arg>=0)    labels[c[e].arg]=e;       for(e=0;e<length;e++)
320:       switch(c->opcode)    { -  case F_NOP: break; +  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); +  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)    fatal("max_label calculation failed!\n");
385: Inside #if defined(PIKE_DEBUG)
   {   #ifdef PIKE_DEBUG    if(labels[e]==-1) -  fatal("Hyperspace error: unknown jump point %d at %d (%d).\n",e,labels[e],jumps[e]); +  fatal("Hyperspace error: unknown jump point %d at %d (pc=%x).\n",e,labels[e],jumps[e]);   #endif    tmp=read_int(jumps[e]);    upd_int(jumps[e], tmp2 - jumps[e]);