Path: blob/main/lang/ccl/files/patch-lisp-kernel_gc.h
16125 views
--- lisp-kernel/gc.h.orig 2020-04-19 21:32:56 UTC1+++ lisp-kernel/gc.h2@@ -62,8 +62,8 @@3extern LispObj GCarealow, GCareadynamiclow;4extern natural GCndnodes_in_area, GCndynamic_dnodes_in_area;5extern bitvector GCmarkbits, GCdynamic_markbits,managed_static_refbits,global_refidx,dynamic_refidx,managed_static_refidx;6-LispObj *global_reloctab, *GCrelocptr;7-LispObj GCfirstunmarked;8+extern LispObj *global_reloctab, *GCrelocptr;9+extern LispObj GCfirstunmarked;1011extern natural lisp_heap_gc_threshold;12extern natural lisp_heap_notify_threshold;13@@ -83,7 +83,7 @@ void gc(TCR *, signed_natural);14int change_hons_area_size(TCR *, signed_natural);15void delete_protected_area(protected_area_ptr);16Boolean egc_control(Boolean, BytePtr);17-Boolean free_segments_zero_filled_by_OS;18+extern Boolean free_segments_zero_filled_by_OS;19Boolean new_heap_segment(ExceptionInformation *, natural, Boolean , TCR *, Boolean *);20void platform_new_heap_segment(ExceptionInformation *, TCR*, BytePtr, BytePtr);21/* an type representing 1/4 of a natural word */22@@ -153,19 +153,19 @@ void report_paging_info_delta(FILE*, paging_info *, pa23#define GC_TRAP_FUNCTION_FREEZE 12924#define GC_TRAP_FUNCTION_THAW 1302526-Boolean GCDebug, GCverbose, just_purified_p;27-bitvector GCmarkbits, GCdynamic_markbits;28-LispObj GCarealow, GCareadynamiclow;29-natural GCndnodes_in_area, GCndynamic_dnodes_in_area;30-LispObj GCweakvll,GCdwsweakvll;31-LispObj GCephemeral_low;32-natural GCn_ephemeral_dnodes;33-natural GCstack_limit;34+extern Boolean GCDebug, GCverbose, just_purified_p;35+extern bitvector GCmarkbits, GCdynamic_markbits;36+extern LispObj GCarealow, GCareadynamiclow;37+extern natural GCndnodes_in_area, GCndynamic_dnodes_in_area;38+extern LispObj GCweakvll,GCdwsweakvll;39+extern LispObj GCephemeral_low;40+extern natural GCn_ephemeral_dnodes;41+extern natural GCstack_limit;4243#if WORD_SIZE == 6444-unsigned short *_one_bits;45+extern unsigned short *_one_bits;46#else47-const unsigned char _one_bits[256];48+extern const unsigned char _one_bits[256];49#endif5051#define one_bits(x) _one_bits[x]52@@ -195,11 +195,11 @@ void gc(TCR *, signed_natural);53/* backend-interface */5455typedef void (*weak_mark_fun) (LispObj);56-weak_mark_fun mark_weak_htabv, dws_mark_weak_htabv;57+extern weak_mark_fun mark_weak_htabv, dws_mark_weak_htabv;5859typedef void (*weak_process_fun)(void);6061-weak_process_fun markhtabvs;62+extern weak_process_fun markhtabvs;636465#define hash_table_vector_header_count (sizeof(hash_table_vector_header)/sizeof(LispObj))666768