Loading BUGS +12 −0 Original line number Diff line number Diff line Loading @@ -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. src/compiler/dump.lisp +1 −5 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) Loading version.lisp-expr +1 −1 Original line number Diff line number Diff line Loading @@ -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" Loading
BUGS +12 −0 Original line number Diff line number Diff line Loading @@ -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.
src/compiler/dump.lisp +1 −5 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) Loading
version.lisp-expr +1 −1 Original line number Diff line number Diff line Loading @@ -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"