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.54 1999/03/19 11:39:49 hubbe Exp $ +  * $Id: program.h,v 1.55 1999/08/20 05:08:26 hubbe Exp $    */   #ifndef PROGRAM_H   #define PROGRAM_H      #include <stdarg.h>   #include "global.h"   #include "pike_types.h"   #include "pike_macros.h"   #include "svalue.h"   #include "time_stuff.h"
pike.git/src/program.h:180:    * not change from now on    */   #define PROGRAM_FIXED 2      /* 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. */ + /* Program will be destructed as soon at it runs out of references. +  * Normally only used for mutex lock keys and similar +  */   #define PROGRAM_DESTRUCT_IMMEDIATE 16    -  + /* Self explanatory, automatically detected */   #define PROGRAM_HAS_C_METHODS 32    -  +  + /* All non-static functions are inlinable */ + #define PROGRAM_CONSTANT 64 +    struct program   {    INT32 refs;   #ifdef PIKE_SECURITY    struct object *prot;   #endif    INT32 id; /* used to identify program in caches */ -  INT32 flags; +  INT32 flags; /* PROGRAM_* */    INT32 storage_needed; /* storage needed in the object struct */    unsigned INT8 alignment_needed;    struct timeval timestamp;       struct program *next;    struct program *prev;       void (*init)(struct object *);    void (*exit)(struct object *);    void (*gc_marked)(struct object *);
pike.git/src/program.h:250:      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;    + /* Flags for identifier finding... */ + #define SEE_STATIC 1 + #define SEE_PRIVATE 2 +  +    #define COMPILER_IN_CATCH 1      #define ADD_STORAGE(X) low_add_storage(sizeof(X), ALIGNOF(X),0)      #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));
pike.git/src/program.h:286:   void check_program(struct program *p);   struct program *end_first_pass(int finish);   struct program *debug_end_program(void);   SIZE_T low_add_storage(SIZE_T size, SIZE_T alignment, int modulo);   void set_init_callback(void (*init)(struct object *));   void set_exit_callback(void (*exit)(struct object *));   void set_gc_mark_callback(void (*m)(struct object *));   void set_gc_check_callback(void (*m)(struct object *));   int low_reference_inherited_identifier(struct program_state *q,    int e, -  struct pike_string *name); +  struct pike_string *name, +  int flags);   node *reference_inherited_identifier(struct pike_string *super_name,    struct pike_string *function_name);   void rename_last_inherit(struct pike_string *n);   void low_inherit(struct program *p,    struct object *parent,    int parent_identifier,    int parent_offset,    INT32 flags,    struct pike_string *name);   void do_inherit(struct svalue *s,