1.0.23.50: Less magic constants in the MIPS backend.
[sbcl.git] / BUGS
diff --git a/BUGS b/BUGS
index e36c391..2ca448f 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1818,7 +1818,7 @@ WORKAROUND:
 
   (ASSERT (EQUAL (BUG419 42) '(1 2 3 4 5 6))) => failure
 
-  Note: as of SBCL 1.0.26.29 this bug no longer affects user code, as
+  Note: as of SBCL 1.0.16.29 this bug no longer affects user code, as
   SB-INT:TRULY-DYNAMIC-EXTENT needs to be used instead of
   DYNAMIC-EXTENT for this to happen. Proper fix for this bug requires
   (Nikodemus thinks) storing the relevant LAMBDA-VARs in a
@@ -1857,30 +1857,6 @@ generally try to check returns in safe code, so we should here too.)
 
  (Test-case adapted from CL-PPCRE.)
 
-426: inlining failure involving multiple nested calls
-
-   (declaim (inline foo))
-   (defun foo (x y)
-     (cons x y))
-   (defun bar (x)
-     (foo (foo x x) (foo x x)))
-   ;; shows a full call to FOO
-   (disassemble 'bar)
-   ;; simple way to test this programmatically
-   (let ((code (sb-c::fun-code-header #'bar))
-         (foo (sb-impl::fdefinition-object 'foo nil)))
-     (loop for i from sb-vm:code-constants-offset below (sb-kernel:get-header-data code)
-           do (assert (not (eq foo (sb-kernel:code-header-ref code i))))))
-
- This appears to be an ancient bug, inherited from CMUCL: reportedly
- 18c does the same thing. RECOGNIZE-KNOWN-CALL correctly picks up only
- one of the calls, but local call analysis fails to inline the call
- for the second time. Nikodemus thinks (but is not 100% sure based on
- very brief investigation) that the call that is not inlined is the
- second nested one. A trivial fix is to call CHANGE-REF-LEAF in known
- call for functions already inline converted there, but he is not sure
- if this has adverse effects elsewhere.
-
 428: TIMER SCHEDULE-STRESS and PARALLEL-UNSCHEDULE in
      timer.impure.lisp fails
 
@@ -1902,19 +1878,5 @@ generally try to check returns in safe code, so we should here too.)
       (setf (aref nodes 0) 2)
       (assert (every #'~= (apply #'concatenate 'list nodes) '(2 3 6 9)))))
 
-430: nested structure constructors do not stack allocate
-
-  (defun nada (x) (declare (ignore x)) nil)
-
-  (declaim (inline make-foo))
-  (defstruct foo bar)
-
-  (defun foo ()
-    (let ((x (list (make-foo))))
-      (declare (dynamic-extent x))
-      (nada x)))
-
- Result of MAKE-FOO not stack allocated in FOO, because the function
- HANDLE-NESTED-DYNAMIC-EXTENT-LVARS sees is not
- %MAKE-STRUCTURE-INSTANCE, but no-yet-eliminated (VARARGS-ENTRY
- MAKE-FOO).
+431: alien strucure redefinition doesn't work as expected
+  fixed in 1.0.21.29