1 /* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/globals.h,v 1.13 2009/11/02 15:05:07 rtoy Rel $ */
6 #ifndef LANGUAGE_ASSEMBLY
10 extern int foreign_function_call_active;
12 extern fpu_mode_t fpu_mode;
14 extern lispobj *current_control_stack_pointer;
15 extern lispobj *current_control_frame_pointer;
17 #if !defined(ibmrt) && !defined(i386)
18 extern lispobj *current_binding_stack_pointer;
21 extern lispobj *read_only_space;
22 extern lispobj *static_space;
23 extern lispobj *dynamic_0_space;
24 extern lispobj *dynamic_1_space;
25 extern unsigned dynamic_space_size;
26 extern unsigned static_size;
27 extern lispobj *control_stack;
28 extern lispobj *binding_stack;
30 extern unsigned long read_only_space_size;
31 extern unsigned long binding_stack_size;
32 extern unsigned long static_space_size;
33 extern unsigned long control_stack_size;
35 #if (defined(i386) || defined(__x86_64))
36 extern lispobj *control_stack_end;
38 extern lispobj *current_dynamic_space;
40 #if !defined(ibmrt) && !defined(i386)
41 extern lispobj *current_dynamic_space_free_pointer;
42 extern lispobj *current_auto_gc_trigger;
45 extern void globals_init(void);
47 #else /* LANGUAGE_ASSEMBLY */
49 /* These are needed by ./assem.s */
53 #define EXTERN(name,bytes) .globl _/**/name
55 #define EXTERN(name,bytes) .globl _/**/name
59 #define EXTERN(name,bytes) .extern name bytes
63 #define EXTERN(name,bytes) .global name
65 #define EXTERN(name,bytes) .global _ ## name
69 #define EXTERN(name,bytes) .globl _/**/name
74 #define EXTERN(name,bytes) .globl _/**/name
76 #define EXTERN(name,bytes) .global _ ## name
80 EXTERN(foreign_function_call_active, 4)
82 EXTERN(current_control_stack_pointer, 4)
83 EXTERN(current_control_frame_pointer, 4)
84 #if !defined(ibmrt) && !defined(i386)
85 EXTERN(current_binding_stack_pointer, 4)
86 EXTERN(current_dynamic_space_free_pointer, 4)
89 EXTERN(current_flags_register, 4)
91 #endif /* LANGUAGE_ASSEMBLY */
92 #endif /* _GLOBALS_H_ */