More unboxed-byte-addresses-are-word-addresses damage.
[sbcl.git] / tests / threads.impure.lisp
index 3dc340d..794ae61 100644 (file)
    ;; now SOMETHING is gc'ed and the binding stack looks like this: 0,
    ;; 0, SOMETHING, 0 (because the symbol slots are zeroed on
    ;; unbinding but values are not).
-   (let ((*x* nil))
+   (let ((*x* nil)
+         (binding-pointer-delta (ash 2 (- sb-vm:word-shift sb-vm:n-fixnum-tag-bits))))
      ;; bump bsp as if a BIND had just started
-     (incf sb-vm::*binding-stack-pointer* 2)
+     (incf sb-vm::*binding-stack-pointer* binding-pointer-delta)
      (wait-for-gc)
-     (decf sb-vm::*binding-stack-pointer* 2))))
+     (decf sb-vm::*binding-stack-pointer* binding-pointer-delta))))
 
 (with-test (:name (:binding-stack-gc-safety))
   (let (threads)