Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/globals.c,v 1.1 1992/07/28 20:14:29 wlott Exp $ */
/* Variables everybody needs to look at or frob on. */
#include <stdio.h>
#include "lisp.h"
#include "internals.h"
#include "globals.h"
int foreign_function_call_active;
lispobj *current_control_stack_pointer;
lispobj *current_control_frame_pointer;
#ifndef BINDING_STACK_POINTER
lispobj *current_binding_stack_pointer;
#endif
lispobj *read_only_space;
lispobj *static_space;
lispobj *dynamic_0_space;
lispobj *dynamic_1_space;
lispobj *control_stack;
lispobj *binding_stack;
lispobj *current_dynamic_space;
#ifndef ALLOCATION_POINTER
lispobj *current_dynamic_space_free_pointer;
#endif
#ifndef INTERNAL_GC_TRIGGER
lispobj *current_auto_gc_trigger;
#endif
void globals_init(void)
{
/* Space, stack, and free pointer vars are initialized by
validate() and coreparse(). */
#ifndef INTERNAL_GC_TRIGGER
/* No GC trigger yet */
current_auto_gc_trigger = NULL;
#endif
/* Set foreign function call active. */
foreign_function_call_active = 1;
/* Initialize the current lisp state. */
current_control_stack_pointer = control_stack;
current_control_frame_pointer = (lispobj *)0;
#ifndef BINDING_STACK_POINTER
current_binding_stack_pointer = binding_stack;
#endif
}