X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=BUGS;h=bcdc88688a8883eb3efe54373f687c375f5dfe3e;hb=082a5f0fdc94977987b95ef5fe3cd574858c2898;hp=f47e869efa0495e97887dcbb2b59dc7dcd437dae;hpb=e0924e0c54b0a216560d67b9e85a077473bb5952;p=sbcl.git diff --git a/BUGS b/BUGS index f47e869..bcdc886 100644 --- a/BUGS +++ b/BUGS @@ -264,6 +264,11 @@ WORKAROUND: GC, so that thereafter memory usage can never be reduced below that level. + (As of 0.8.7.3 it's likely that the latter half of this bug is fixed. + The interaction between gencgc and the variables used by + save-lisp-and-die is still nonoptimal, though, so no respite from + big core files yet) + 98: In sbcl-0.6.11.41 (and in all earlier SBCL, and in CMU CL), out-of-line structure slot setters are horribly inefficient @@ -324,6 +329,15 @@ WORKAROUND: time trying to GC afterwards. Surely there's some more economical way to implement (ROOM T). + Daniel Barlow doesn't know what fixed this, but observes that it + doesn't seem to be the case in 0.8.7.3 any more. Instead, (ROOM T) + in a fresh SBCL causes + + debugger invoked on a SB-INT:BUG in thread 5911: + failed AVER: "(SAP= CURRENT END)" + + unless a GC has happened beforehand. + 117: When the compiler inline expands functions, it may be that different kinds of return values are generated from different code branches. @@ -1214,17 +1228,32 @@ WORKAROUND: returns, values returned by (EXT) must be removed from under that of (INT). -299: (aka PFD MISC.186) - * (defun foo () - (declare (optimize (debug 1))) - (multiple-value-call #'list - (if (eval t) (eval '(values :a :b :c)) nil) ; (*) - (catch 'foo (throw 'foo (values :x :y))))) - FOO - * (foo) - (:X :Y) - - Operator THROW is represented with a call of a not returning funny - function %THROW, unknown values stack after the call is empty, so - the unknown values LVAR (*) is considered to be dead after the call - and, thus, before it and is popped by the stack analysis. +300: (reported by Peter Graves) Function PEEK-CHAR checks PEEK-TYPE + argument type only after having read a character. This is caused + with EXPLICIT-CHECK attribute in DEFKNOWN. The similar problem + exists with =, /=, <, >, <=, >=. They were fixed, but it is probably + less error prone to have EXPLICIT-CHECK be a local declaration, + being put into the definition, instead of an attribute being kept in + a separate file; maybe also put it into SB-EXT? + +301: ARRAY-SIMPLE-=-TYPE-METHOD breaks on corner cases which can arise + in NOTE-ASSUMED-TYPES + In sbcl-0.8.7.32, compiling the file + (defun foo (x y) + (declare (type integer x)) + (declare (type (vector (or hash-table bit)) y)) + (bletch 2 y)) + (defun bar (x y) + (declare (type integer x)) + (declare (type (simple-array base (2)) y)) + (bletch 1 y)) + gives the error + failed AVER: "(NOT (AND (NOT EQUALP) CERTAINP))" + +302: Undefined type messes up DATA-VECTOR-REF expansion. + Compiling this file + (defun dis (s ei x y) + (declare (type (simple-array function (2)) s) (type ei ei)) + (funcall (aref s ei) x y)) + on sbcl-0.8.7.36/X86/Linux causes a BUG to be signalled: + full call to SB-KERNEL:DATA-VECTOR-REF