X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fglobals.h;h=eacb4405f56495884984311573b80796dc2bc029;hb=1db4f16ef02f5b4d699d78541edb19ad8f3defc8;hp=4ffd653fc9fa4261afcf22482c361c0b9782a458;hpb=3a0f3612dc2bbf3e4e8e7395bcbbf8cd1791b963;p=sbcl.git diff --git a/src/runtime/globals.h b/src/runtime/globals.h index 4ffd653..eacb440 100644 --- a/src/runtime/globals.h +++ b/src/runtime/globals.h @@ -20,11 +20,29 @@ #include "sbcl.h" +/* Currently threads live only on x86oid platforms, but this thing + * cannot ever work with threads, so... */ +#if !defined(LISP_FEATURE_SB_THREAD) && !defined(LISP_FEATURE_X86) && !defined(LISP_FEATURE_X86_64) +#define FOREIGN_FUNCTION_CALL_FLAG +#endif + #ifndef LANGUAGE_ASSEMBLY + +#ifdef FOREIGN_FUNCTION_CALL_FLAG extern int foreign_function_call_active; -extern boolean stop_the_world; +#endif -#if defined(LISP_FEATURE_SB_THREAD) +extern size_t dynamic_space_size; +extern size_t thread_control_stack_size; + +#ifdef LISP_FEATURE_WIN32 +#define ENVIRON _environ +#else +#define ENVIRON environ +#endif +extern char **ENVIRON; + +#if defined(LISP_FEATURE_SB_THREAD) && !defined(LISP_FEATURE_GCC_TLS) extern pthread_key_t specials; #endif @@ -95,7 +113,9 @@ extern void globals_init(void); # define POINTERSIZE 4 # endif +#ifdef FOREIGN_FUNCTION_CALL_FLAG EXTERN(foreign_function_call_active, 4) +#endif EXTERN(current_control_stack_pointer, POINTERSIZE) EXTERN(current_control_frame_pointer, POINTERSIZE)