From: Juho Snellman Date: Tue, 28 Feb 2006 04:47:50 +0000 (+0000) Subject: 0.9.10.6: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=76311b98b531bbda4ec2ee4ddfa654a7885d6275;p=sbcl.git 0.9.10.6: Restore the old behaviour of never using mmap-tricks for memory zeroing on Solaris/gencgc, since doing so was causing GC crashes on Solaris/x86. Also some whitespace canonicalization. --- diff --git a/NEWS b/NEWS index 5f23c7d..80242ed 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,7 @@ changes in sbcl-0.9.11 relative to sbcl-0.9.10: * enhancement: CONSTANTP is now able to determine constantness of more complex forms, including calls to constant-foldable standardized functions and some special forms beyond QUOTE. + * fixed bug: occasional GC crashes on Solaris/x86 changes in sbcl-0.9.10 relative to sbcl-0.9.9: * new feature: new SAVE-LISP-AND-DIE keyword argument :EXECUTABLE can diff --git a/src/runtime/gencgc.c b/src/runtime/gencgc.c index 29feedf..a4f5f7c 100644 --- a/src/runtime/gencgc.c +++ b/src/runtime/gencgc.c @@ -4116,7 +4116,15 @@ remap_free_pages (page_index_t from, page_index_t to) last_page++; } + /* There's a mysterious Solaris/x86 problem with using mmap + * tricks for memory zeroing. See sbcl-devel thread + * "Re: patch: standalone executable redux". + */ +#if defined(LISP_FEATURE_SUNOS) + zero_pages(first_page, last_page-1); +#else zero_pages_with_mmap(first_page, last_page-1); +#endif first_page = last_page; } diff --git a/tests/eval.impure.lisp b/tests/eval.impure.lisp index bf6141d..3708433 100644 --- a/tests/eval.impure.lisp +++ b/tests/eval.impure.lisp @@ -128,8 +128,8 @@ '(x) '(1) (1+ x)) t 2) - ((progv '(x) '(t) - (if x 1 2)) t 1) + ((progv '(x) '(t) + (if x 1 2)) t 1) ((unwind-protect 1 nil) t 1) ((unwind-protect 1 (xxx)) nil) diff --git a/version.lisp-expr b/version.lisp-expr index 6469097..bd68033 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.9.10.5" +"0.9.10.6"