X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fglobals.h;h=60480a7cc75563a93ef7a8e0a85a8c5108d90982;hb=22a6702974b7d6ff4e8f2b3b7b5ff446fc632de0;hp=03e991b6004b03aa277f440a96f09ef525002a5d;hpb=83543d4d5f876def7327969ec6ec40606e9e63f1;p=sbcl.git diff --git a/src/runtime/globals.h b/src/runtime/globals.h index 03e991b..60480a7 100644 --- a/src/runtime/globals.h +++ b/src/runtime/globals.h @@ -24,15 +24,35 @@ extern int foreign_function_call_active; extern boolean stop_the_world; +#ifdef LISP_FEATURE_WIN32 +#define ENVIRON _environ +#else +#define ENVIRON environ +#endif +extern char **ENVIRON; + +#if defined(LISP_FEATURE_SB_THREAD) +extern pthread_key_t specials; +#endif + extern lispobj *current_control_stack_pointer; extern lispobj *current_control_frame_pointer; # if !defined(LISP_FEATURE_X86) && !defined(LISP_FEATURE_X86_64) 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 @@ -44,7 +64,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 @@ -60,7 +80,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 /**/ @@ -68,7 +88,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 /**/