pike.git / src / program.h

version» Context lines:

pike.git/src/program.h:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/      /* -  * $Id: program.h,v 1.47 1999/01/21 09:15:15 hubbe Exp $ +  * $Id: program.h,v 1.48 1999/01/31 09:02:02 hubbe Exp $    */   #ifndef PROGRAM_H   #define PROGRAM_H      #include <stdarg.h>   #include "global.h"   #include "pike_types.h"   #include "svalue.h"   #include "time_stuff.h"   
pike.git/src/program.h:225:   #define ID_FROM_PTR(P,X) (PROG_FROM_PTR(P,X)->identifiers+(X)->identifier_offset)   #define INHERIT_FROM_INT(P,X) INHERIT_FROM_PTR(P,(P)->identifier_references+(X))   #define PROG_FROM_INT(P,X) PROG_FROM_PTR(P,(P)->identifier_references+(X))   #define ID_FROM_INT(P,X) ID_FROM_PTR(P,(P)->identifier_references+(X))      #define FIND_LFUN(P,N) ((P)->flags & PROGRAM_FIXED?(P)->lfuns[(N)]:find_identifier(lfun_names[(N)],(P)))      #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;   extern int compiler_pass;   extern long local_class_counter;   extern int catch_level;   extern INT32 num_used_modules; -  + extern struct program *pike_trampoline_program;      #define COMPILER_IN_CATCH 1      #define FOO(NUMTYPE,TYPE,NAME) void PIKE_CONCAT(add_to_,NAME(TYPE ARG));   #include "program_areas.h"      /* Prototypes begin here */   void ins_int(INT32 i, void (*func)(char tmp));   void ins_short(INT16 i, void (*func)(char tmp));   void use_module(struct svalue *s);
pike.git/src/program.h:354:   struct array *program_values(struct program *p);   void program_index_no_free(struct svalue *to, struct program *p,    struct svalue *ind);   void start_line_numbering(void);   void store_linenumber(INT32 current_line, struct pike_string *current_file);   char *get_line(unsigned char *pc,struct program *prog,INT32 *linep);   void my_yyerror(char *fmt,...) ATTRIBUTE((format(printf,1,2)));   struct program *compile(struct pike_string *prog);   int add_function(char *name,void (*cfun)(INT32),char *type,INT16 flags);   void check_all_programs(void); + void init_program(void);   void cleanup_program(void);   void gc_mark_program_as_referenced(struct program *p);   void gc_check_all_programs(void);   void gc_mark_all_programs(void);   void gc_free_all_unreferenced_programs(void);   void count_memory_in_programs(INT32 *num_, INT32 *size_); - void push_compiler_frame(void); + void push_compiler_frame(int lexical_scope);   void pop_local_variables(int level);   void pop_compiler_frame(void);   int low_get_storage(struct program *o, struct program *p);   char *get_storage(struct object *o, struct program *p);   struct program *low_program_from_function(struct program *p,    INT32 i);   struct program *program_from_function(struct svalue *f);   struct program *program_from_svalue(struct svalue *s);   struct find_child_cache_s;   int find_child(struct program *parent, struct program *child);   void yywarning(char *fmt, ...) ATTRIBUTE((format(printf,1,2)));   struct implements_cache_s;   int implements(struct program *a, struct program *b); - void f_encode_program(INT32 args); +    /* Prototypes end here */         #endif      #ifdef DEBUG_MALLOC   #define end_program() ((struct program *)debug_malloc_touch(debug_end_program()))   #define end_class(NAME, FLAGS) do { debug_malloc_touch(new_program); debug_end_class(NAME, FLAGS); }while(0)   #else   #define end_class debug_end_class   #define end_program debug_end_program   #endif