Re: master: Force copy+resize with mark-region-gc

Stas Boukarev <[email protected]> Mon, 16 Mar 2026 18:19:11 +0300
Newsgroups gmane.lisp.steel-bank.cvs,gmane.lisp.steel-bank.devel
Message-ID <CAF63=12JbMpu+780XjK84DvpRJz+PtYsDWF9WnpkQU9r0F10iQ@mail.gmail.com>
I suppose it's not a pure test anymore.

On Mon, Mar 16, 2026 at 6:14 PM snuglas via Sbcl-commits
<[email protected]> wrote:
>
> The branch "master" has been updated in SBCL:
>        via  6ecacda292a525af89dbdcf2e5e270fd1701d77e (commit)
>       from  c1e8cd47608c6792beddefc77b86be9b939800bc (commit)
>
> - Log -----------------------------------------------------------------
> commit 6ecacda292a525af89dbdcf2e5e270fd1701d77e
> Author: Douglas Katzman <[email protected]>
> Date:   Mon Mar 16 10:39:23 2026 -0400
>
>     Force copy+resize with mark-region-gc
> ---
>  tests/stablehash.pure.lisp | 20 +++++++++++++++-----
>  1 file changed, 15 insertions(+), 5 deletions(-)
>
> diff --git a/tests/stablehash.pure.lisp b/tests/stablehash.pure.lisp
> index 8a57c2661..82016fc86 100644
> --- a/tests/stablehash.pure.lisp
> +++ b/tests/stablehash.pure.lisp
> @@ -1,8 +1,19 @@
> +#+mark-region-gc (setf (extern-alien "force_compaction" (boolean 8)) t
> +                       (extern-alien "minimum_compact_gen" char) 0)
> +
>  (defstruct s1 a)
>  (defstruct s2 a b)
>
> -(defvar *obj1* (make-s1))
> -(defvar *obj2* (make-s2))
> +(defun waste-space-and-call (f &aux result)
> +  ;; use up some of the page before and after the structure under test
> +  (dotimes (i 10) (funcall f))
> +  (setq result (funcall f))
> +  (sb-vm::close-thread-alloc-region)
> +  result)
> +
> +(defvar *obj1* (waste-space-and-call 'make-s1))
> +(defvar *obj2* (waste-space-and-call 'make-s2))
> +
>  (defvar *addr1* (sb-kernel:get-lisp-obj-address *obj1*))
>  (defvar *addr2* (sb-kernel:get-lisp-obj-address *obj2*))
>  (defvar *len1* (sb-kernel:%instance-length *obj1*))
> @@ -12,9 +23,8 @@
>  (defvar *primsize1* (primitive-object-size *obj1*))
>  (defvar *primsize2* (primitive-object-size *obj2*))
>
> -(with-test (:name :lazy-hash-slot-instance-length-invariant
> -                  :skipped-on :mark-region-gc) ; nothing to test really
> -  (gc)
> +(with-test (:name :lazy-hash-slot-instance-length-invariant)
> +  (gc :gen 2)
>    ;; both should have moved
>    (assert (/= (sb-kernel:get-lisp-obj-address *obj1*) *addr1*))
>    (assert (/= (sb-kernel:get-lisp-obj-address *obj2*) *addr2*))
>
> -----------------------------------------------------------------------
>
>
> hooks/post-receive
> --
> SBCL
>
>
> _______________________________________________
> Sbcl-commits mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/sbcl-commits


_______________________________________________
Sbcl-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sbcl-commits