Changeset 11874


Ignore:
Timestamp:
05/15/09 20:18:09 (13 years ago)
Author:
ehuelsmann
Message:

P2-FLET and P2-LABELS: Use COMPILE-PROGN-BODY instead of
reinventing the wheel.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp

    r11873 r11874  
    49184918(defknown p2-flet (t t t) t)
    49194919(defun p2-flet (form target representation)
    4920   ;; FIXME What if we're called with a non-NIL representation?
    4921   (declare (ignore representation))
    49224920  (let ((*local-functions* *local-functions*)
    49234921        (*visible-variables* *visible-variables*)
     
    49324930          (push variable *visible-variables*))))
    49334931    (dolist (special (process-special-declarations body))
    4934       (push (make-variable :name special :special-p t)
    4935             *visible-variables*))
    4936     (do ((forms body (cdr forms)))
    4937         ((null forms))
    4938       (compile-form (car forms) (if (cdr forms) nil target) nil))))
     4932      (push (make-variable :name special :special-p t) *visible-variables*))
     4933    (compile-progn-body body target representation)))
    49394934
    49404935(defknown p2-labels (t t t) t)
     
    49554950      (p2-labels-process-compiland local-function))
    49564951    (dolist (special (process-special-declarations body))
    4957       (push (make-variable :name special :special-p t)
    4958             *visible-variables*))
    4959     (do ((forms body (cdr forms)))
    4960         ((null forms))
    4961       (compile-form (car forms) (if (cdr forms) nil 'stack) nil))
    4962     (fix-boxing representation nil)
    4963     (emit-move-from-stack target representation)))
     4952      (push (make-variable :name special :special-p t) *visible-variables*))
     4953    (compile-progn-body body target representation)))
    49644954
    49654955(defun p2-lambda (compiland target)
Note: See TracChangeset for help on using the changeset viewer.