Branch: Tag:

2001-07-02

2001-07-02 04:09:50 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

more debug,
more optimizations,
new efuns: int2char, basetype
new opcodes: F_CALL_BUILTIN1, F_CALL_BUILTIN1_AND_POP, F_BRANCH_IF_TYPE_IS_NOT

Rev: src/builtin.cmod:1.53
Rev: src/builtin_functions.c:1.388
Rev: src/constants.c:1.31
Rev: src/constants.h:1.18
Rev: src/docode.c:1.124
Rev: src/interpret.c:1.211
Rev: src/interpret_functions.h:1.66
Rev: src/lex.c:1.91
Rev: src/modules/sprintf/sprintf.c:1.79
Rev: src/peep.c:1.49
Rev: src/peep.in:1.56

5:   \*/   /**/   #include "global.h" - RCSID("$Id: docode.c,v 1.123 2001/06/29 19:48:22 hubbe Exp $"); + RCSID("$Id: docode.c,v 1.124 2001/07/02 04:09:48 hubbe Exp $");   #include "las.h"   #include "program.h"   #include "pike_types.h"
1159:    if(!CAR(n)->u.sval.u.efun->docode ||    !CAR(n)->u.sval.u.efun->docode(n))    { +  if(count_args(CDR(n))==1) +  { +  do_docode(CDR(n),0); +  tmp1=store_constant(& CAR(n)->u.sval, +  !(CAR(n)->tree_info & OPT_EXTERNAL_DEPEND), +  CAR(n)->name); +  emit1(F_CALL_BUILTIN1, DO_NOT_WARN((INT32)tmp1)); +  }else{    emit0(F_MARK);    PUSH_CLEANUP_FRAME(do_pop_mark, 0);    do_docode(CDR(n),0);
1168:    emit1(F_CALL_BUILTIN, DO_NOT_WARN((INT32)tmp1));    POP_AND_DONT_CLEANUP;    } +  }    if(n->type == void_type_string)    return 0;