X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Falloc.c;h=d40c2722e569df9733f39b31f2919c35cace7852;hb=5d18b03968d5fc696790609ae0ac2669473fbfb7;hp=3319e2c4199c34410a9d1a3d8867a3c27266f5ab;hpb=d7f6139a91d7d9b0667a597584ae306d958bb2f4;p=sbcl.git diff --git a/src/runtime/alloc.c b/src/runtime/alloc.c index 3319e2c..d40c272 100644 --- a/src/runtime/alloc.c +++ b/src/runtime/alloc.c @@ -20,25 +20,16 @@ #include "gc.h" #include -#ifdef ibmrt -#define GET_FREE_POINTER() ((lispobj *)SymbolValue(ALLOCATION_POINTER)) -#define SET_FREE_POINTER(new_value) \ - (SetSymbolValue(ALLOCATION_POINTER,(lispobj)(new_value))) -#define GET_GC_TRIGGER() ((lispobj *)SymbolValue(INTERNAL_GC_TRIGGER)) -#define SET_GC_TRIGGER(new_value) \ - (SetSymbolValue(INTERNAL_GC_TRIGGER,(lispobj)(new_value))) -#else #define GET_FREE_POINTER() dynamic_space_free_pointer #define SET_FREE_POINTER(new_value) \ (dynamic_space_free_pointer = (new_value)) #define GET_GC_TRIGGER() current_auto_gc_trigger #define SET_GC_TRIGGER(new_value) \ clear_auto_gc_trigger(); set_auto_gc_trigger(new_value); -#endif #define ALIGNED_SIZE(n) (n+lowtag_Mask) & ~lowtag_Mask -#if defined(WANT_CGC) || defined(GENCGC) +#if defined GENCGC extern lispobj *alloc(int bytes); #else static lispobj * @@ -117,7 +108,7 @@ alloc_string(char *str) { int len = strlen(str); lispobj result = alloc_vector(type_SimpleString, len+1, 8); - struct vector *vec = (struct vector *)PTR(result); + struct vector *vec = (struct vector *)native_pointer(result); vec->length = make_fixnum(len); strcpy((char *)vec->data, str); @@ -131,7 +122,7 @@ alloc_sap(void *ptr) int n_words_to_alloc = (sizeof(struct sap) - sizeof(lispobj)) / sizeof(u32); struct sap *sap = - (struct sap *)alloc_unboxed ((int)type_Sap, n_words_to_alloc); + (struct sap *)alloc_unboxed((int)type_Sap, n_words_to_alloc); sap->pointer = ptr; return (lispobj) sap | type_OtherPointer; }