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.89 2000/05/23 21:12:05 hubbe Exp $ +  * $Id: program.h,v 1.90 2000/06/09 22:43:05 mast 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:297:   extern struct object *error_handler;      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; + extern struct program *gc_internal_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 STORAGE_NEEDED(X) ((X)->storage_needed - (X)->inherits[0].storage_offset)
pike.git/src/program.h:372:   int low_define_variable(struct pike_string *name,    struct pike_string *type,    INT32 flags,    INT32 offset,    INT32 run_time_type);   int map_variable(char *name,    char *type,    INT32 flags,    INT32 offset,    INT32 run_time_type); + int quick_map_variable(char *name, +  int name_length, +  INT32 offset, +  char *type, +  int type_length, +  INT32 run_time_type, +  INT32 flags);   int define_variable(struct pike_string *name,    struct pike_string *type,    INT32 flags);   int simple_add_variable(char *name,    char *type,    INT32 flags);   int add_constant(struct pike_string *name,    struct svalue *c,    INT32 flags);   int simple_add_constant(char *name,
pike.git/src/program.h:447:    int name_length,    void (*cfun)(INT32),    char *type,    int type_length,    INT16 flags,    int opt_flags);   void check_all_programs(void);   void init_program(void);   void cleanup_program(void);   void gc_mark_program_as_referenced(struct program *p); - INT32 gc_touch_all_programs(void); + unsigned gc_touch_all_programs(void);   void gc_check_all_programs(void);   void gc_mark_all_programs(void); -  + void real_gc_cycle_check_program(struct program *p); + void real_gc_cycle_check_program_weak(struct program *p); + void gc_cycle_check_all_programs(void);   void gc_free_all_unreferenced_programs(void);   void count_memory_in_programs(INT32 *num_, INT32 *size_);   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);
pike.git/src/program.h:480:      #define ADD_FUNCTION(NAME,FUNC,TYPE,FLAGS) \    quick_add_function(NAME,CONSTANT_STRLEN(NAME),FUNC,TYPE,CONSTANT_STRLEN(TYPE),FLAGS,0)      #define ADD_PROTOTYPE(NAME,TYPE,FLAGS) \    quick_add_function(NAME,CONSTANT_STRLEN(NAME),0,TYPE,CONSTANT_STRLEN(TYPE),FLAGS,0)      #define ADD_INT_CONSTANT(NAME,CONST,FLAGS) \    quick_add_integer_constant(NAME,CONSTANT_STRLEN(NAME),CONST,FLAGS)    + #define MAP_VARIABLE(NAME,OFFSET,TYPE,RTTYPE,FLAGS) \ +  quick_map_variable(NAME,CONSTANT_STRLEN(NAME),OFFSET,TYPE,CONSTANT_STRLEN(TYPE),RTTYPE,FLAGS) +    #define ADD_FUNCTION_DTYPE(NAME,FUN,DTYPE,FLAGS) do { \    DTYPE_START; \    {DTYPE} \    { \    struct pike_string *_t; \    DTYPE_END(_t); \    quick_add_function(NAME,CONSTANT_STRLEN(NAME),FUN,_t->str,_t->len,FLAGS,0); \    free_string(_t); \    } \   } while (0)      #ifndef NO_PIKE_SHORTHAND   #define add_function pike_add_function   #endif      #define START_NEW_PROGRAM_ID(ID) do { \    start_new_program(); \    new_program->id=PIKE_CONCAT3(PROG_,ID,_ID); \    }while(0)    -  - #endif /* PROGRAM_H */ -  +    #ifdef DEBUG_MALLOC   #define end_program() ((struct program *)debug_malloc_pass(debug_end_program()))   #define end_class(NAME, FLAGS) (debug_malloc_touch(new_program), debug_end_class(NAME, CONSTANT_STRLEN(NAME), FLAGS))   #else   #define end_class(NAME,FLAGS) debug_end_class(NAME, CONSTANT_STRLEN(NAME), FLAGS)   #define end_program debug_end_program   #endif         #ifdef PIKE_DEBUG   #define start_new_program() debug_start_new_program(__LINE__,__FILE__)   #else   #define start_new_program() debug_start_new_program()   #endif    -  + #define gc_cycle_check_program(X) \ +  enqueue_lifo(&gc_mark_queue, (queue_call) real_gc_cycle_check_program, (X)) + #define gc_cycle_check_program_weak(X) \ +  enqueue_lifo(&gc_mark_queue, (queue_call) real_gc_cycle_check_program_weak, (X)) +  +  + #endif /* PROGRAM_H */