pike.git
/
src
/
program.h
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/program.h:1:
/* || This file is part of Pike. For copyright information see COPYRIGHT. || Pike is distributed under GPL, LGPL and MPL. See the file COPYING || for more information.
-
|| $Id: program.h,v 1.
241
2008/05/
01
21
:
44
:
33
mast Exp $
+
|| $Id: program.h,v 1.
242
2008/05/
11
02
:
35
:
23
mast Exp $
*/ #ifndef PROGRAM_H #define PROGRAM_H #include <stdarg.h> #include "global.h" #include "pike_macros.h" #include "pike_error.h" #include "svalue.h"
pike.git/src/program.h:898:
int name_length, void (*cfun)(INT32), const char *type, int type_length, unsigned flags, unsigned opt_flags); void check_all_programs(void); void placeholder_index(INT32 args); void init_program(void); void cleanup_program(void);
+
void visit_program (struct program *p, int action);
void gc_mark_program_as_referenced(struct program *p); void real_gc_cycle_check_program(struct program *p, int weak); unsigned gc_touch_all_programs(void); void gc_check_all_programs(void); void gc_mark_all_programs(void); void gc_cycle_check_all_programs(void); void gc_zap_ext_weak_refs_in_programs(void); size_t gc_free_all_unreferenced_programs(void); void push_compiler_frame(int lexical_scope); void low_pop_local_variables(int level);
pike.git/src/program.h:1002:
#define end_program() ((struct program *)debug_malloc_pass(debug_end_program())) #define end_class(NAME, FLAGS) (debug_malloc_touch(Pike_compiler->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 #define start_new_program() debug_start_new_program(__LINE__,__FILE__)
+
#define visit_program_ref(P, REF_TYPE) \
+
visit_ref (pass_program (P), (REF_TYPE), \
+
(visit_thing_fn *) &visit_program, NULL)
#define gc_cycle_check_program(X, WEAK) \ gc_cycle_enqueue((gc_cycle_check_cb *) real_gc_cycle_check_program, (X), (WEAK)) /* This can be used for backwards compatibility * (if added to program.h in Pike 0.6 and Pike 7.0 * -Hubbe */ #define Pike_new_program Pike_compiler->new_program