pike.git
/
src
/
program.h
version
»
Context lines:
10
20
40
80
file
none
3
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,