X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fglobals.h;h=4ffd653fc9fa4261afcf22482c361c0b9782a458;hb=4fcb3af93227cd8c35aba48f6e18834753c9e0f6;hp=78590142887d0630557f19d87512e08b9d69a098;hpb=d8e682fdfb7e8ba067e15aea0f3d1f8d37ca9eb1;p=sbcl.git diff --git a/src/runtime/globals.h b/src/runtime/globals.h index 7859014..4ffd653 100644 --- a/src/runtime/globals.h +++ b/src/runtime/globals.h @@ -34,9 +34,18 @@ extern lispobj *current_control_frame_pointer; extern lispobj *current_binding_stack_pointer; # endif -# ifndef LISP_FEATURE_GENCGC -/* Beware! gencgc has also a (non-global) dynamic_space_free_pointer. */ +#if !defined(LISP_FEATURE_X86) && !defined(LISP_FEATURE_X86_64) +/* This is unused on X86 and X86_64, but is used as the global + * allocation pointer by the cheney GC, and, in some instances, as + * the global allocation pointer on PPC/GENCGC. This should probably + * be cleaned up such that it only needs to exist on cheney. At the + * moment, it is also used by the GENCGC, to hold the pseudo_atomic + * bits, and is tightly coupled to reg_ALLOC by the assembly + * routines. */ extern lispobj *dynamic_space_free_pointer; +#endif + +# ifndef LISP_FEATURE_GENCGC extern lispobj *current_auto_gc_trigger; # endif @@ -48,7 +57,7 @@ extern void globals_init(void); # ifdef LISP_FEATURE_MIPS # ifdef __linux__ -# define EXTERN(name,bytes) .globl name +# define EXTERN(name,bytes) .globl name # else # define EXTERN(name,bytes) .extern name bytes # endif @@ -64,7 +73,7 @@ extern void globals_init(void); /**/ # ifdef LISP_FEATURE_ALPHA # ifdef __linux__ -# define EXTERN(name,bytes) .globl name +# define EXTERN(name,bytes) .globl name # endif # endif /**/ @@ -72,7 +81,7 @@ extern void globals_init(void); # ifdef LISP_FEATURE_DARWIN # define EXTERN(name,bytes) .globl _/**/name # else -# define EXTERN(name,bytes) .globl name +# define EXTERN(name,bytes) .globl name # endif # endif /**/