X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fruntime%2Fglobals.c;h=7cf1139c2ac7052b9c528ac214a1157b2f49d381;hb=c3699db2053ff3b5ac6a98d4431c3789496002d8;hp=2dee4ce2b84ab8e128c4a31c6df38132bf14d271;hpb=c81c32ef8a737b0cc61d3c0c6a137cab39baac73;p=sbcl.git diff --git a/src/runtime/globals.c b/src/runtime/globals.c index 2dee4ce..7cf1139 100644 --- a/src/runtime/globals.c +++ b/src/runtime/globals.c @@ -14,6 +14,8 @@ */ #include +#include +#include #include "runtime.h" #include "sbcl.h" @@ -28,19 +30,22 @@ lispobj *current_control_frame_pointer; lispobj *current_binding_stack_pointer; #endif -/* ALLOCATION_POINTER is more or less synonymous with RT, it seems. - * Anyone want to do an RT port of sbcl? - */ +/* ALLOCATION_POINTER is x86 or RT. Anyone want to do an RT port? */ #ifndef ALLOCATION_POINTER /* The Object Formerly Known As current_dynamic_space_free_pointer */ lispobj *dynamic_space_free_pointer; #endif -#ifndef GENCGC /* since GENCGC has its own way to record trigger */ +#ifndef LISP_FEATURE_GENCGC /* GENCGC has its own way to record trigger */ lispobj *current_auto_gc_trigger; #endif +#ifdef LISP_FEATURE_SB_THREAD +pid_t parent_pid; +boolean stop_the_world=0; +#endif + /* For copying GCs, this points to the start of the dynamic space * currently in use (that will become the from_space when the next GC * is done). For the GENCGC, it always points to DYNAMIC_SPACE_START. */ @@ -50,24 +55,16 @@ void globals_init(void) { /* Space, stack, and free pointer vars are initialized by * validate() and coreparse(). */ + current_control_frame_pointer = (lispobj *)0; -#ifndef GENCGC /* since GENCGC has its own way to record trigger */ +#ifndef LISP_FEATURE_GENCGC /* no GC trigger yet */ current_auto_gc_trigger = NULL; #endif /* Set foreign function call active. */ foreign_function_call_active = 1; - - /* Initialize the current Lisp state. */ -#ifndef __i386__ /* if stack grows upward */ - current_control_stack_pointer = (lispobj *)CONTROL_STACK_START; -#else - current_control_stack_pointer = (lispobj *)CONTROL_STACK_END; -#endif - - current_control_frame_pointer = (lispobj *)0; -#ifndef BINDING_STACK_POINTER - current_binding_stack_pointer = BINDING_STACK_START; +#ifdef LISP_FEATURE_SB_THREAD + parent_pid=getpid(); #endif }