Branch: Tag:

1996-02-25

1996-02-25 00:25:47 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

`+ optimization done

Rev: doc/builtin/gc:1.1
Rev: doc/simulated/implode:1.2
Rev: lib/master.lpc:1.4
Rev: src/add_efun.h:1.3
Rev: src/backend.c:1.4
Rev: src/backend.h:1.4
Rev: src/builtin_efuns.c:1.12
Rev: src/call_out.h:1.3
Rev: src/configure:1.2
Rev: src/configure.in:1.7
Rev: src/debug.c:1.3(DEAD)
Rev: src/debug.h:1.3(DEAD)
Rev: src/docode.c:1.4
Rev: src/gc.c:1.1
Rev: src/gc.h:1.1
Rev: src/language.y:1.10
Rev: src/las.c:1.5
Rev: src/las.h:1.5
Rev: src/lex.c:1.7
Rev: src/lpc_signal.c:1.8
Rev: src/machine.h.in:1.7
Rev: src/main.c:1.3
Rev: src/modules/files/configure.in:1.4
Rev: src/operators.c:1.3
Rev: src/rusage.c:1.4
Rev: src/test/create_testsuite:1.9

676:       case F_EQ:    case F_NE: -  if(flags & DO_POP) -  { -  do_pop(do_docode(CAR(n),DO_NOT_COPY|DO_POP)+ -  do_docode(CDR(n),DO_NOT_COPY|DO_POP)); -  return 0; -  } -  tmp1=do_docode(CAR(n),0); -  if(do_docode(CDR(n),0)!=1) -  fatal("Compiler internal error (gnng!).\n"); -  ins_f_byte(n->token); -  return tmp1; -  +     case F_ADD:    case F_LT:    case F_LE:
702:    case F_XOR:    case F_OR:    case F_AND: -  if(flags & DO_POP) -  { -  do_pop(do_docode(CAR(n),DO_NOT_COPY|DO_POP)+ -  do_docode(CDR(n),DO_NOT_COPY|DO_POP)); -  return 0; -  } -  tmp1=do_docode(CAR(n),DO_NOT_COPY); -  if(do_docode(CDR(n),DO_NOT_COPY)!=1) -  fatal("Compiler internal error.\n"); -  ins_f_byte(n->token); -  return tmp1; +  case F_NOT: +  case F_COMPL: +  case F_NEGATE: +  fatal("Optimizer errror.\n");       case F_RANGE:    tmp1=do_docode(CAR(n),DO_NOT_COPY);
754:    return 1;    }    -  case F_NOT: -  case F_COMPL: -  case F_NEGATE: -  tmp1=do_docode(CAR(n),DO_NOT_COPY | (flags & ~DO_LVALUE)); -  if(flags & DO_POP) -  { -  do_pop(tmp1); -  return 0; -  } -  ins_f_byte(n->token); -  return tmp1; -  +     case F_FOR:    {    struct jump_list brk,cnt;