Branch: Tag:

1999-09-18

1999-09-18 09:21:30 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

name tracking for constants underway (not yet finished)

Rev: src/docode.c:1.51
Rev: src/interpreter.h:1.13
Rev: src/language.yacc:1.123
Rev: src/las.c:1.88
Rev: src/lex.c:1.66
Rev: src/object.c:1.82
Rev: src/object.h:1.29
Rev: src/pike_types.h:1.21
Rev: src/program.c:1.151
Rev: src/program.h:1.59
Rev: src/program_areas.h:1.6
Rev: src/testsuite.in:1.197

5:   \*/      /* -  * $Id: program.h,v 1.58 1999/09/16 20:30:36 hubbe Exp $ +  * $Id: program.h,v 1.59 1999/09/18 09:21:28 hubbe Exp $    */   #ifndef PROGRAM_H   #define PROGRAM_H
138:    union idptr func;   };    + struct program_constant + { +  struct svalue sval; +  struct pike_string *name; + }; +    /*    * in the bytecode, a function starts with:    * char num_args
174:    struct pike_string *name;   };    + struct pike_trampoline + { +  struct pike_frame *frame; +  INT32 func; + }; +  +    /* program parts have been realloced into one block */   #define PROGRAM_OPTIMIZED 1   
255:   #define free_program(p) do{ struct program *_=(p); debug_malloc_touch(_); if(!--_->refs) really_free_program(_); }while(0)       - struct pike_trampoline - { -  struct pike_frame *frame; -  INT32 func; - }; -  -  +    extern struct object *fake_object;   extern struct program *new_program;   extern struct program *first_program;
391:    struct program *prog);   int find_identifier(char *name,struct program *prog);   int store_prog_string(struct pike_string *str); - int store_constant(struct svalue *foo, int equal); + int store_constant(struct svalue *foo, int equal, struct pike_string *name);   struct array *program_indices(struct program *p);   struct array *program_values(struct program *p);   void program_index_no_free(struct svalue *to, struct program *p,