summarylogtreecommitdiffstats
path: root/0001.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001.patch')
-rw-r--r--0001.patch108
1 files changed, 108 insertions, 0 deletions
diff --git a/0001.patch b/0001.patch
new file mode 100644
index 000000000000..aff213bffc94
--- /dev/null
+++ b/0001.patch
@@ -0,0 +1,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
+