summarylogtreecommitdiffstats
path: root/0001.patch
blob: aff213bffc94886ab42f4cef44719a52193e9b92 (plain)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
From 185dc1a00e7492f8be98e5f93b561758423595f1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C4=81nis=20D=C5=BEeri=C5=86=C5=A1?=
 <smuglispweenie@gmail.com>
Date: Sat, 23 May 2020 16:18:32 +0300
Subject: [PATCH 1/4] Move global variable definitions to .c files


 100.0% lisp-kernel/
diff --git a/lisp-kernel/area.h b/lisp-kernel/area.h
index 1ae46aa4..3e74e8db 100644
--- a/lisp-kernel/area.h
+++ b/lisp-kernel/area.h
@@ -108,7 +108,7 @@ Boolean grow_dynamic_area(natural);
 Boolean shrink_dynamic_area(natural);
 
 /* serialize add_area/remove_area, and also the tcr queue */
-void *tcr_area_lock;
+extern void *tcr_area_lock;
 
 #define reserved_area ((area *)(all_areas))
 #define active_dynamic_area ((area *)(reserved_area->succ))
diff --git a/lisp-kernel/gc-common.c b/lisp-kernel/gc-common.c
index 5a00264b..9f3b7b33 100644
--- a/lisp-kernel/gc-common.c
+++ b/lisp-kernel/gc-common.c
@@ -92,6 +92,7 @@ LispObj GCarealow = 0, GCareadynamiclow = 0;
 natural GCndnodes_in_area = 0, GCndynamic_dnodes_in_area = 0;
 LispObj GCweakvll = (LispObj)NULL;
 LispObj GCdwsweakvll = (LispObj)NULL;
+LispObj GCfirstunmarked = (LispObj) NULL;
 LispObj GCephemeral_low = 0;
 natural GCn_ephemeral_dnodes = 0;
 natural GCstack_limit = 0;
diff --git a/lisp-kernel/gc.h b/lisp-kernel/gc.h
index 0aa31ba6..acc9e184 100644
--- a/lisp-kernel/gc.h
+++ b/lisp-kernel/gc.h
@@ -62,8 +62,8 @@
 extern LispObj GCarealow, GCareadynamiclow;
 extern natural GCndnodes_in_area, GCndynamic_dnodes_in_area;
 extern bitvector GCmarkbits, GCdynamic_markbits,managed_static_refbits,global_refidx,dynamic_refidx,managed_static_refidx;
-LispObj *global_reloctab, *GCrelocptr;
-LispObj GCfirstunmarked;
+extern LispObj *global_reloctab, *GCrelocptr;
+extern LispObj GCfirstunmarked;
 
 extern natural lisp_heap_gc_threshold;
 extern natural lisp_heap_notify_threshold;
@@ -153,19 +153,19 @@ void report_paging_info_delta(FILE*, paging_info *, paging_info *);
 #define GC_TRAP_FUNCTION_FREEZE 129
 #define GC_TRAP_FUNCTION_THAW 130
 
-Boolean GCDebug, GCverbose, just_purified_p;
-bitvector GCmarkbits, GCdynamic_markbits;
-LispObj GCarealow, GCareadynamiclow;
-natural GCndnodes_in_area, GCndynamic_dnodes_in_area;
-LispObj GCweakvll,GCdwsweakvll;
-LispObj GCephemeral_low;
-natural GCn_ephemeral_dnodes;
-natural GCstack_limit;
+extern Boolean GCDebug, GCverbose, just_purified_p;
+extern bitvector GCmarkbits, GCdynamic_markbits;
+extern LispObj GCarealow, GCareadynamiclow;
+extern natural GCndnodes_in_area, GCndynamic_dnodes_in_area;
+extern LispObj GCweakvll, GCdwsweakvll;
+extern LispObj GCephemeral_low;
+extern natural GCn_ephemeral_dnodes;
+extern natural GCstack_limit;
 
 #if WORD_SIZE == 64
-unsigned short *_one_bits;
+extern unsigned short *_one_bits;
 #else
-const unsigned char _one_bits[256];
+extern const unsigned char _one_bits[256];
 #endif
 
 #define one_bits(x) _one_bits[x]
@@ -195,11 +195,10 @@ void gc(TCR *, signed_natural);
 /* backend-interface */
 
 typedef void (*weak_mark_fun) (LispObj);
-weak_mark_fun mark_weak_htabv, dws_mark_weak_htabv;
+extern weak_mark_fun mark_weak_htabv, dws_mark_weak_htabv;
 
 typedef void (*weak_process_fun)(void);
-
-weak_process_fun markhtabvs;
+extern weak_process_fun markhtabvs;
 
 
 #define hash_table_vector_header_count (sizeof(hash_table_vector_header)/sizeof(LispObj))
diff --git a/lisp-kernel/pmcl-kernel.c b/lisp-kernel/pmcl-kernel.c
index f348b2b1..5aa9c04a 100644
--- a/lisp-kernel/pmcl-kernel.c
+++ b/lisp-kernel/pmcl-kernel.c
@@ -151,6 +151,8 @@ wperror(char* message)
 
 LispObj lisp_nil = (LispObj) 0;
 bitvector global_mark_ref_bits = NULL, dynamic_mark_ref_bits = NULL, relocatable_mark_ref_bits = NULL, global_refidx = NULL, dynamic_refidx = NULL,managed_static_refidx = NULL;
+LispObj *global_reloctab = (LispObj) NULL, *GCrelocptr = (LispObj) NULL;
+void *tcr_area_lock = NULL;
 
 
 /* These are all "persistent" : they're initialized when
-- 
2.27.0