0.9.1.52:
[sbcl.git] / src / compiler / ir2tran.lisp
index bf1796a..d796e12 100644 (file)
     (let ((info (make-ir2-lvar *backend-t-primitive-type*)))
       (setf (ir2-lvar-kind info) :delayed)
       (setf (lvar-info leaves) info)
-      #!+stack-grows-upward-not-downward
-      (let ((tn (make-normal-tn *backend-t-primitive-type*)))
-        (setf (ir2-lvar-locs info) (list tn)))
-      #!+stack-grows-downward-not-upward
       (setf (ir2-lvar-stack-pointer info)
             (make-stack-pointer-tn)))))
 
 (defoptimizer (%allocate-closures ir2-convert) ((leaves) call 2block)
-  (let ((dx-p (lvar-dynamic-extent leaves))
-        #!+stack-grows-upward-not-downward
-        (first-closure nil))
+  (let ((dx-p (lvar-dynamic-extent leaves)))
     (collect ((delayed))
-      #!+stack-grows-downward-not-upward
       (when dx-p
         (vop current-stack-pointer call 2block
              (ir2-lvar-stack-pointer (lvar-info leaves))))
                 (leaf-dx-p (and dx-p (leaf-dynamic-extent leaf))))
             (vop make-closure call 2block entry (length closure)
                  leaf-dx-p tn)
-            #!+stack-grows-upward-not-downward
-            (when (and (not first-closure) leaf-dx-p)
-              (setq first-closure tn))
             (loop for what in closure and n from 0 do
                   (unless (and (lambda-var-p what)
                                (null (leaf-refs what)))
                              tn
                              (find-in-physenv what this-env)
                              n)))))))
-      #!+stack-grows-upward-not-downward
-      (when dx-p
-        (emit-move call 2block first-closure
-                   (first (ir2-lvar-locs (lvar-info leaves)))))
       (loop for (tn what n) in (delayed)
             do (vop closure-init call 2block
                     tn what n))))
                 (r-refs (reference-tn-list results t)))
            (aver (= (length info-args)
                     (template-info-arg-count template)))
-            #!+stack-grows-downward-not-upward
             (when (and lvar (lvar-dynamic-extent lvar))
               (vop current-stack-pointer call block
                    (ir2-lvar-stack-pointer (lvar-info lvar))))
            (vop reset-stack-pointer node block
                 (first (ir2-lvar-locs 2lvar))))
           ((lvar-dynamic-extent lvar)
-           #!+stack-grows-downward-not-upward
            (vop reset-stack-pointer node block
-                (ir2-lvar-stack-pointer 2lvar))
-           #!-stack-grows-downward-not-upward
-           (vop %%pop-dx node block
-                (first (ir2-lvar-locs 2lvar))))
+                (ir2-lvar-stack-pointer 2lvar)))
           (t (bug "Trying to pop a not stack-allocated LVAR ~S."
                   lvar)))))
 
                    (nipped
                     (first (ir2-lvar-locs 2first))
                     (reference-tn-list moved-tns nil))
-                   ((reference-tn-list moved-tns t))))
-           #!-stack-grows-downward-not-upward
-           (nip-unaligned (nipped)
-             (vop* %%nip-dx node block
-                   (nipped
-                    (first (ir2-lvar-locs 2first))
-                    (reference-tn-list moved-tns nil))
                    ((reference-tn-list moved-tns t)))))
       (cond ((eq (ir2-lvar-kind 2after) :unknown)
              (nip-aligned (first (ir2-lvar-locs 2after))))
             ((lvar-dynamic-extent after)
-             #!+stack-grows-downward-not-upward
-             (nip-aligned (ir2-lvar-stack-pointer 2after))
-             #!-stack-grows-downward-not-upward
-             (nip-unaligned (ir2-lvar-stack-pointer 2after)))
+             (nip-aligned (ir2-lvar-stack-pointer 2after)))
             (t
              (bug "Trying to nip a not stack-allocated LVAR ~S." after))))))
 
                       (res (lvar-result-tns
                             lvar
                             (list (primitive-type (specifier-type 'list))))))
-                  #!+stack-grows-downward-not-upward
                   (when (and lvar (lvar-dynamic-extent lvar))
                     (vop current-stack-pointer node block
                          (ir2-lvar-stack-pointer (lvar-info lvar))))