Clean up RCS ids
[projects/cmucl/cmucl.git] / src / lisp / globals.h
CommitLineData
eeab7066
RT
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*/
62957726 7
e67c0397 8#ifndef _GLOBALS_H_
9#define _GLOBALS_H_
62957726 10
11#ifndef LANGUAGE_ASSEMBLY
12
13#include "lisp.h"
14
15extern int foreign_function_call_active;
16
9edd3c4b 17extern fpu_mode_t fpu_mode;
18
62957726 19extern lispobj *current_control_stack_pointer;
20extern lispobj *current_control_frame_pointer;
9a8c1c2f 21
5ced0fdf 22#if !defined(ibmrt) && !defined(i386)
62957726 23extern lispobj *current_binding_stack_pointer;
24#endif
25
26extern lispobj *read_only_space;
27extern lispobj *static_space;
28extern lispobj *dynamic_0_space;
29extern lispobj *dynamic_1_space;
a7070998 30extern unsigned dynamic_space_size;
44a8f0c7 31extern unsigned static_size;
62957726 32extern lispobj *control_stack;
33extern lispobj *binding_stack;
9a8c1c2f 34
44a8f0c7
RT
35extern unsigned long read_only_space_size;
36extern unsigned long binding_stack_size;
37extern unsigned long static_space_size;
38extern unsigned long control_stack_size;
39
d087598d 40#if (defined(i386) || defined(__x86_64))
5ced0fdf 41extern lispobj *control_stack_end;
42#endif
62957726 43extern lispobj *current_dynamic_space;
9a8c1c2f 44
d01310f2 45#if !defined(ibmrt) && !defined(i386)
62957726 46extern lispobj *current_dynamic_space_free_pointer;
47extern lispobj *current_auto_gc_trigger;
48#endif
49
50extern void globals_init(void);
51
9a8c1c2f 52#else /* LANGUAGE_ASSEMBLY */
62957726 53
54/* These are needed by ./assem.s */
55
eb44537a 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
62957726 63#ifdef mips
64#define EXTERN(name,bytes) .extern name bytes
65#endif
66#ifdef sparc
0d38205a 67#ifdef SVR4
68#define EXTERN(name,bytes) .global name
69#else
7648921f 70#define EXTERN(name,bytes) .global _ ## name
62957726 71#endif
0d38205a 72#endif
62957726 73#ifdef ibmrt
74#define EXTERN(name,bytes) .globl _/**/name
75#endif
76
5ced0fdf 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
62957726 85EXTERN(foreign_function_call_active, 4)
86
9a8c1c2f 87 EXTERN(current_control_stack_pointer, 4)
88 EXTERN(current_control_frame_pointer, 4)
5ced0fdf 89#if !defined(ibmrt) && !defined(i386)
9a8c1c2f 90 EXTERN(current_binding_stack_pointer, 4)
91 EXTERN(current_dynamic_space_free_pointer, 4)
62957726 92#endif
62957726 93#ifdef mips
9a8c1c2f 94 EXTERN(current_flags_register, 4)
62957726 95#endif
48cccfec 96#endif /* LANGUAGE_ASSEMBLY */
e67c0397 97#endif /* _GLOBALS_H_ */