X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fglobals.c;h=b4774db1aa0110bbf2f5eaf3fd48e7f2f92fa1ee;hb=d7f6139a91d7d9b0667a597584ae306d958bb2f4;hp=ae67e71ed713247eeb3a9d6258c15315d22c9969;hpb=d0583fb59b0d5e243c9141d649b82bac577f5aa9;p=sbcl.git diff --git a/src/runtime/globals.c b/src/runtime/globals.c index ae67e71..b4774db 100644 --- a/src/runtime/globals.c +++ b/src/runtime/globals.c @@ -13,15 +13,12 @@ * files for more information. */ -/* - * $Header$ - */ - #include #include "runtime.h" #include "sbcl.h" #include "globals.h" +#include "validate.h" int foreign_function_call_active; @@ -31,18 +28,29 @@ lispobj *current_control_frame_pointer; lispobj *current_binding_stack_pointer; #endif -lispobj *control_stack; -#ifdef __i386__ -lispobj *control_stack_end; -#endif +/* ALLOCATION_POINTER is more or less synonymous with RT, it seems. + * Anyone want to do an RT port of sbcl? + */ #ifndef ALLOCATION_POINTER +/* The Object Formerly Known As current_dynamic_space_free_pointer */ lispobj *dynamic_space_free_pointer; #endif + #ifndef INTERNAL_GC_TRIGGER lispobj *current_auto_gc_trigger; #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. */ +lispobj *current_dynamic_space = +#ifndef GENCGC + DYNAMIC_0_SPACE_START; +#else + DYNAMIC_SPACE_START; +#endif + void globals_init(void) { /* Space, stack, and free pointer vars are initialized by @@ -57,10 +65,10 @@ void globals_init(void) foreign_function_call_active = 1; /* Initialize the current Lisp state. */ -#ifndef __i386__ - current_control_stack_pointer = control_stack; +#ifndef __i386__ /* if stack grows upward */ + current_control_stack_pointer = (lispobj *)CONTROL_STACK_START; #else - current_control_stack_pointer = control_stack_end; + current_control_stack_pointer = (lispobj *)CONTROL_STACK_END; #endif current_control_frame_pointer = (lispobj *)0;