X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fgc.h;h=3d43c0bbf6a20c249d425da54e77b76e93d4a2db;hb=d1e7b48b17180a417c41ed55eb382ebf6d4e7a2a;hp=2929013fba2bf96f953ad6c9df4946f4f1b8714b;hpb=3a0f3612dc2bbf3e4e8e7395bcbbf8cd1791b963;p=sbcl.git diff --git a/src/runtime/gc.h b/src/runtime/gc.h index 2929013..3d43c0b 100644 --- a/src/runtime/gc.h +++ b/src/runtime/gc.h @@ -33,54 +33,6 @@ extern int maybe_gc_pending; #include "fixnump.h" -#if defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64) - -#define set_alloc_pointer(value) \ - SetSymbolValue(ALLOCATION_POINTER, value, 0) -#define get_alloc_pointer() \ - SymbolValue(ALLOCATION_POINTER, 0) -#define get_binding_stack_pointer(thread) \ - SymbolValue(BINDING_STACK_POINTER, thread) -#define get_pseudo_atomic_atomic(thread) \ - SymbolValue(PSEUDO_ATOMIC_ATOMIC, thread) -#define set_pseudo_atomic_atomic(thread) \ - SetSymbolValue(PSEUDO_ATOMIC_ATOMIC, make_fixnum(1), thread); -#define clear_pseudo_atomic_atomic(thread) \ - SetSymbolValue(PSEUDO_ATOMIC_ATOMIC, make_fixnum(0), thread); -#define get_pseudo_atomic_interrupted(thread) \ - fixnum_value(SymbolValue(PSEUDO_ATOMIC_INTERRUPTED, thread)) -#define clear_pseudo_atomic_interrupted(thread) \ - SetSymbolValue(PSEUDO_ATOMIC_INTERRUPTED, make_fixnum(0), thread) -#define set_pseudo_atomic_interrupted(thread) \ - SetSymbolValue(PSEUDO_ATOMIC_INTERRUPTED, make_fixnum(1), thread) - -#elif defined(LISP_FEATURE_PPC) && defined(LISP_FEATURE_GENCGC) - -#define set_alloc_pointer(value) \ - (dynamic_space_free_pointer = \ - (value) | (((unsigned long)dynamic_space_free_pointer) & LOWTAG_MASK)) - -#define get_alloc_pointer() \ - ((unsigned long) dynamic_space_free_pointer & ~LOWTAG_MASK) -#define get_binding_stack_pointer(thread) \ - (current_binding_stack_pointer) -#define get_pseudo_atomic_atomic(thread) \ - ((unsigned long)dynamic_space_free_pointer & flag_PseudoAtomic) -#define set_pseudo_atomic_atomic(thread) \ - (dynamic_space_free_pointer \ - = (lispobj*) ((unsigned long)dynamic_space_free_pointer | flag_PseudoAtomic)) -#define clear_pseudo_atomic_atomic(thread) \ - (dynamic_space_free_pointer \ - = (lispobj*) ((unsigned long) dynamic_space_free_pointer & ~flag_PseudoAtomic)) -#define get_pseudo_atomic_interrupted(thread) \ - ((unsigned long) dynamic_space_free_pointer & flag_PseudoAtomicInterrupted) -#define clear_pseudo_atomic_interrupted(thread) \ - (dynamic_space_free_pointer \ - = (lispobj*) ((unsigned long) dynamic_space_free_pointer & ~flag_PseudoAtomicInterrupted)) -#define set_pseudo_atomic_interrupted(thread) \ - (dynamic_space_free_pointer \ - = (lispobj*) ((unsigned long) dynamic_space_free_pointer | flag_PseudoAtomicInterrupted)) - -#endif +#include "pseudo-atomic.h" #endif /* _GC_H_ */