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

519:    }   }    - static node **last_cmd(node **a) + node **last_cmd(node **a)   {    node **n;    if(!a || !*a) return (node **)NULL;
563:    return 0;   }    - /* static node **my_get_arg(node **a,int n) { return low_get_arg(a,&n); } */ + node **my_get_arg(node **a,int n) { return low_get_arg(a,&n); }   /* static node **first_arg(node **a) { return my_get_arg(a,0); } */      static void low_print_tree(node *foo,int needlval)
1163:       switch(n->token)    { +  case F_APPLY: +  if(CAR(n)->token == F_CONSTANT && +  CAR(n)->u.sval.type == T_FUNCTION && +  CAR(n)->u.sval.subtype == -1 && /* driver fun? */ +  CAR(n)->u.sval.u.efun->optimize) +  { +  if(tmp1=CAR(n)->u.sval.u.efun->optimize(n)) +  goto use_tmp1; +  } +  break; +     case F_ARG_LIST:    case F_LVALUE_LIST:    if(!CAR(n)) goto use_cdr;
1372:    if(inc)    {    if(CAR(n)->token==F_LE) -  tmp3=mknode(F_ADD,CDAR(n),mkintnode(1)); +  tmp3=mkopernode("`+",CDAR(n),mkintnode(1));    else if(CAR(n)->token==F_LT)    tmp3=CDAR(n);    else