- ((unsigned long) dynamic_space_free_pointer & ~LOWTAG_MASK)
-#define get_binding_stack_pointer(thread) \
- (current_binding_stack_pointer)
+ ((uword_t) dynamic_space_free_pointer & ~LOWTAG_MASK)
+
+#ifdef LISP_FEATURE_SB_THREAD
+#define get_pseudo_atomic_atomic(thread) \
+ ((thread)->pseudo_atomic_bits & flag_PseudoAtomic)
+#define set_pseudo_atomic_atomic(thread) \
+ ((thread)->pseudo_atomic_bits |= flag_PseudoAtomic)
+#define clear_pseudo_atomic_atomic(thread) \
+ ((thread)->pseudo_atomic_bits &= ~flag_PseudoAtomic)
+#define get_pseudo_atomic_interrupted(thread) \
+ ((thread)->pseudo_atomic_bits & flag_PseudoAtomicInterrupted)
+#define set_pseudo_atomic_interrupted(thread) \
+ ((thread)->pseudo_atomic_bits |= flag_PseudoAtomicInterrupted)
+#define clear_pseudo_atomic_interrupted(thread) \
+ ((thread)->pseudo_atomic_bits &= ~flag_PseudoAtomicInterrupted)
+#else