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.40 1998/04/14 22:10:50 hubbe Exp $ +  * $Id: program.h,v 1.41 1998/04/24 00:32:09 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"      #define LFUN___INIT 0   #define LFUN_CREATE 1   #define LFUN_DESTROY 2   #define LFUN_ADD 3   #define LFUN_SUBTRACT 4   #define LFUN_AND 5   #define LFUN_OR 6   #define LFUN_XOR 7   #define LFUN_LSH 8
pike.git/src/program.h:173:      /* Program is done and can be cloned */   #define PROGRAM_FINISHED 4      /* Program has gone through first compiler pass */   #define PROGRAM_PASS_1_DONE 8      /* Program will be destructed as soon at it runs out of references. */   #define PROGRAM_DESTRUCT_IMMEDIATE 16    + #define PROGRAM_HAS_C_METHODS 32 +    struct program   {    INT32 refs;    INT32 id; /* used to identify program in caches */    INT32 flags;    INT32 storage_needed; /* storage needed in the object struct */ -  +  struct timeval timestamp;       struct program *next;    struct program *prev;       void (*init)(struct object *);    void (*exit)(struct object *);    void (*gc_marked)(struct object *);    void (*gc_check)(struct object *);   #ifdef DEBUG    unsigned INT32 checksum;
pike.git/src/program.h:223:      #define free_program(p) do{ struct program *_=(p); debug_malloc_touch(_); if(!--_->refs) really_free_program(_); }while(0)         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;      #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); -  + void unuse_modules(INT32 howmany);   struct node_s *find_module_identifier(struct pike_string *ident);   struct program *parent_compilation(int level);   struct program *id_to_program(INT32 id);   void optimize_program(struct program *p); -  + int program_function_index_compare(const void *a,const void *b);   void fixate_program(void); -  + struct program *low_allocate_program(void);   void low_start_new_program(struct program *p,    struct pike_string *name,    int flags);   void start_new_program(void);   void really_free_program(struct program *p);   void dump_program_desc(struct program *p);   int sizeof_variable(int run_time_type);   void check_program(struct program *p);   struct program *end_first_pass(int finish);   struct program *debug_end_program(void);
pike.git/src/program.h:355:   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