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

17:   #include "security.h"   #include "block_alloc.h"    - RCSID("$Id: constants.c,v 1.30 2001/04/13 19:56:49 grubba Exp $"); + RCSID("$Id: constants.c,v 1.31 2001/07/02 04:09:47 hubbe Exp $");      struct mapping *builtin_constants = 0;   
69:   #define EXIT_BLOCK(X) do { \    free_type(X->type); \    free_string(X->name); \ +  X->name=0; \    EXIT_PIKE_MEMOBJ(X); \   }while(0)   BLOCK_ALLOC(callable,128)
96: Inside #if defined(PIKE_DEBUG)
   if(!z) fatal("Gnapp!\n");    free_type(z);    } +  f->runs=0; +  f->compiles=0;   #endif    return f;   }
168:    return ret;   }    + #ifdef PIKE_DEBUG + void present_constant_profiling(void) + { +  struct callable_block *b; +  int e; +  for(b=callable_blocks;b;b=b->next) +  { +  for(e=0;e<NELEM(b->x);e++) +  { +  if(b->x[e].name) +  { +  fprintf(stderr,"%010d @E@: %s\n",b->x[e].runs, b->x[e].name->str); +  } +  } +  } + } + #endif +    void cleanup_added_efuns(void)   {   #ifdef DO_PIKE_CLEANUP