X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fruntime%2Fdynbind.c;h=93bdeb7fce5be34c195d691ecab6457eaddc99da;hb=a3ab89c1db0dd9bfb911532ca134be16f16c4c1b;hp=450c63ca03a8e2841ef0a2ec3a4454d863b01fdb;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/runtime/dynbind.c b/src/runtime/dynbind.c index 450c63c..93bdeb7 100644 --- a/src/runtime/dynbind.c +++ b/src/runtime/dynbind.c @@ -13,16 +13,15 @@ * files for more information. */ -/* - * $Header$ - */ - #include "runtime.h" #include "sbcl.h" #include "globals.h" #include "dynbind.h" +#include "genesis/symbol.h" +#include "genesis/binding.h" +#include "genesis/static-symbols.h" -#if defined(ibmrt) || defined(__i386__) +#if defined(__i386__) #define GetBSP() ((struct binding *)SymbolValue(BINDING_STACK_POINTER)) #define SetBSP(value) SetSymbolValue(BINDING_STACK_POINTER, (lispobj)(value)) #else @@ -32,35 +31,37 @@ void bind_variable(lispobj symbol, lispobj value) { - lispobj old_value; - struct binding *binding; + lispobj old_value; + struct binding *binding; - old_value = SymbolValue(symbol); - binding = GetBSP(); - SetBSP(binding+1); + old_value = SymbolValue(symbol); + binding = GetBSP(); + SetBSP(binding+1); - binding->value = old_value; - binding->symbol = symbol; - SetSymbolValue(symbol, value); + binding->value = old_value; + binding->symbol = symbol; + SetSymbolValue(symbol, value); } -void unbind(void) +void +unbind(void) { - struct binding *binding; - lispobj symbol; + struct binding *binding; + lispobj symbol; - binding = GetBSP() - 1; + binding = GetBSP() - 1; - symbol = binding->symbol; + symbol = binding->symbol; - SetSymbolValue(symbol, binding->value); + SetSymbolValue(symbol, binding->value); - binding->symbol = 0; + binding->symbol = 0; - SetBSP(binding); + SetBSP(binding); } -void unbind_to_here(lispobj *bsp) +void +unbind_to_here(lispobj *bsp) { struct binding *target = (struct binding *)bsp; struct binding *binding = GetBSP();