Clean up RCS ids
[projects/cmucl/cmucl.git] / src / lisp / globals.h
1 /*
2
3  This code was written as part of the CMU Common Lisp project at
4  Carnegie Mellon University, and has been placed in the public domain.
5
6 */
7
8 #ifndef _GLOBALS_H_
9 #define _GLOBALS_H_
10
11 #ifndef LANGUAGE_ASSEMBLY
12
13 #include "lisp.h"
14
15 extern int foreign_function_call_active;
16
17 extern fpu_mode_t fpu_mode;
18
19 extern lispobj *current_control_stack_pointer;
20 extern lispobj *current_control_frame_pointer;
21
22 #if !defined(ibmrt) && !defined(i386)
23 extern lispobj *current_binding_stack_pointer;
24 #endif
25
26 extern lispobj *read_only_space;
27 extern lispobj *static_space;
28 extern lispobj *dynamic_0_space;
29 extern lispobj *dynamic_1_space;
30 extern unsigned dynamic_space_size;
31 extern unsigned static_size;
32 extern lispobj *control_stack;
33 extern lispobj *binding_stack;
34
35 extern unsigned long read_only_space_size;
36 extern unsigned long binding_stack_size;
37 extern unsigned long static_space_size;
38 extern unsigned long control_stack_size;
39
40 #if (defined(i386) || defined(__x86_64))
41 extern lispobj *control_stack_end;
42 #endif
43 extern lispobj *current_dynamic_space;
44
45 #if !defined(ibmrt) && !defined(i386)
46 extern lispobj *current_dynamic_space_free_pointer;
47 extern lispobj *current_auto_gc_trigger;
48 #endif
49
50 extern void globals_init(void);
51
52 #else /* LANGUAGE_ASSEMBLY */
53
54 /* These are needed by ./assem.s */
55
56 #ifdef ppc
57 #ifdef DARWIN
58 #define EXTERN(name,bytes) .globl _/**/name
59 #else
60 #define EXTERN(name,bytes) .globl _/**/name
61 #endif
62 #endif
63 #ifdef mips
64 #define EXTERN(name,bytes) .extern name bytes
65 #endif
66 #ifdef sparc
67 #ifdef SVR4
68 #define EXTERN(name,bytes) .global name
69 #else
70 #define EXTERN(name,bytes) .global _ ## name
71 #endif
72 #endif
73 #ifdef ibmrt
74 #define EXTERN(name,bytes) .globl _/**/name
75 #endif
76
77 #ifdef i386
78 #ifdef __linux__
79 #define EXTERN(name,bytes) .globl _/**/name
80 #else
81 #define EXTERN(name,bytes) .global _ ## name
82 #endif
83 #endif
84
85 EXTERN(foreign_function_call_active, 4)
86
87     EXTERN(current_control_stack_pointer, 4)
88     EXTERN(current_control_frame_pointer, 4)
89 #if !defined(ibmrt) && !defined(i386)
90     EXTERN(current_binding_stack_pointer, 4)
91     EXTERN(current_dynamic_space_free_pointer, 4)
92 #endif
93 #ifdef mips
94     EXTERN(current_flags_register, 4)
95 #endif
96 #endif /* LANGUAGE_ASSEMBLY */
97 #endif /* _GLOBALS_H_ */