From: William Harold Newman Date: Mon, 25 Apr 2005 14:47:13 +0000 (+0000) Subject: 0.9.0.1: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=d90c11f2192a9cff9bae7b74cb749a208623938c;p=sbcl.git 0.9.0.1: logged a bug minor comment tweaks --- diff --git a/BUGS b/BUGS index bf2c746..a5468fe 100644 --- a/BUGS +++ b/BUGS @@ -2078,3 +2078,15 @@ WORKAROUND: the class redefinition will fail when SB-PCL::REMOVE-READER-METHOD tries to find and remove a method with an incompatible lambda list from the unrelated generic function. + +381: incautious calls to EQUAL in fasl dumping + Compiling + (frob #(#1=(a #1#))) + (frob #(#1=(b #1#))) + (frob #(#1=(a #1#))) + in sbcl-0.9.0 causes CONTROL-STACK-EXHAUSTED. My (WHN) impression + is that this follows from the use of (MAKE-HASH-TABLE :TEST 'EQUAL) + to detect sharing, in which case fixing it might require either + getting less ambitious about detecting shared list structure, or + implementing the moral equivalent of EQUAL hash tables in a + cycle-tolerant way. diff --git a/src/compiler/dump.lisp b/src/compiler/dump.lisp index c51e480..d0b85bc 100644 --- a/src/compiler/dump.lisp +++ b/src/compiler/dump.lisp @@ -277,9 +277,7 @@ ;;; Open a fasl file, write its header, and return a FASL-OUTPUT ;;; object for dumping to it. Some human-readable information about -;;; the source code is given by the string WHERE. If BYTE-P is true, -;;; this file will contain no native code, and is thus largely -;;; implementation independent. +;;; the source code is given by the string WHERE. (defun open-fasl-output (name where) (declare (type pathname name)) (let* ((stream (open name @@ -512,13 +510,11 @@ ;;;; number dumping -;;; Dump a ratio. (defun dump-ratio (x file) (sub-dump-object (numerator x) file) (sub-dump-object (denominator x) file) (dump-fop 'fop-ratio file)) -;;; Dump an integer. (defun dump-integer (n file) (typecase n ((signed-byte 8) diff --git a/version.lisp-expr b/version.lisp-expr index 6adeeba..dd9fd61 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.0" +"0.9.0.1"