X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fthreads.impure.lisp;h=794ae61292d88ce1f5cd4cf722eb0e825deb866b;hb=ecfd159f29d31d2cc08d4e5598346c04c9387636;hp=3dc340da1972527faf477b365019784e8793f905;hpb=66846b840130135ad644ce011f22bf3aaca9f3cf;p=sbcl.git diff --git a/tests/threads.impure.lisp b/tests/threads.impure.lisp index 3dc340d..794ae61 100644 --- a/tests/threads.impure.lisp +++ b/tests/threads.impure.lisp @@ -852,11 +852,12 @@ ;; 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)