X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=OPTIMIZATIONS;h=0308f8507c4e8955d713ea703e1744266bda8f25;hb=96bb2dc76dddb1a21b3886fa7522796879e9ed9d;hp=45b5463330ee21f30352616c48d4d4eaf6c1ded0;hpb=90c2b0563695904419451b6172efcf9c7008ad8b;p=sbcl.git diff --git a/OPTIMIZATIONS b/OPTIMIZATIONS index 45b5463..0308f85 100644 --- a/OPTIMIZATIONS +++ b/OPTIMIZATIONS @@ -162,15 +162,6 @@ through TYPEP UNBOXED-ARRAY, within the compiler itself. rather than either constant-folding or manipulating NIL-VALUE or NULL-TN directly. -------------------------------------------------------------------------------- -#19 - (let ((dx (if (foo) - (list x) - (list y z)))) - (declare (dynamic-extent dx)) - ...) - -DX is not allocated on stack. --------------------------------------------------------------------------------- #20 (defun-with-dx foo (x) (flet ((make (x) @@ -185,14 +176,6 @@ DX is not allocated on stack. Result of MAKE is not stack allocated, which means that stack-allocation of structures is impossible. -------------------------------------------------------------------------------- -#21 -(defun-with-dx foo () - (let ((dx (list (list 1 2) (list 3 4)))) - (declare (dynamic-extent dx)) - ...)) - -External list in DX is allocated on stack, but internal are not. --------------------------------------------------------------------------------- #22 IR2 does not perform unused code flushing. -------------------------------------------------------------------------------- @@ -411,12 +394,6 @@ all three comparisons or b) eliminated the necessity of the MOV(s) altogether. The former option is probably easier than the latter. -------------------------------------------------------------------------------- -#37 - -Dynamic extent allocation doesn't currently work for one-element lists, -since there's a source transform from (LIST X) to (CONS X NIL). - --------------------------------------------------------------------------------- #38 (setf (subseq s1 start1 end1) (subseq s2 start2 end1))