Changeset 12115 for trunk/abcl/src/org
- Timestamp:
- 08/23/09 21:50:04 (14 years ago)
- Location:
- trunk/abcl/src/org/armedbear/lisp
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp
r12107 r12115 641 641 ((with-saved-compiler-policy 642 642 (process-optimization-declarations (cddr form)) 643 (let* ((block (make- block-node '(FLET)))643 (let* ((block (make-flet-node)) 644 644 (*blocks* (cons block *blocks*)) 645 645 (body (cddr form)) 646 646 (*visible-variables* *visible-variables*)) 647 (setf ( block-free-specials block)647 (setf (flet-free-specials block) 648 648 (process-declarations-for-vars body nil block)) 649 (dolist (special ( block-free-specials block))649 (dolist (special (flet-free-specials block)) 650 650 (push special *visible-variables*)) 651 (setf ( block-form block)651 (setf (flet-form block) 652 652 (list* (car form) local-functions (p1-body (cddr form)))) 653 653 block))))) -
trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
r12112 r12115 4955 4955 (defknown p2-flet-node (t t t) t) 4956 4956 (defun p2-flet-node (block target representation) 4957 (let* ((form ( block-form block))4957 (let* ((form (flet-form block)) 4958 4958 (*local-functions* *local-functions*) 4959 4959 (*visible-variables* *visible-variables*) … … 4964 4964 (dolist (local-function local-functions) 4965 4965 (push local-function *local-functions*)) 4966 (dolist (special ( block-free-specials block))4966 (dolist (special (flet-free-specials block)) 4967 4967 (push special *visible-variables*)) 4968 (compile-progn-body body target representation))) 4968 (let ((*blocks* (cons block *blocks*))) 4969 (compile-progn-body body target representation)))) 4969 4970 4970 4971 (defknown p2-labels-node (t t t) t) … … 7914 7915 ((eq name 'LET) 7915 7916 (p2-let/let*-node form target representation)) 7916 ((eq name 'FLET)7917 (p2-flet-node form target representation))7918 7917 ((eq name 'LABELS) 7919 7918 (p2-labels-node form target representation)) 7919 ((eq name 'SETF) ;; SETF functions create 7920 ;; consp block names, if we're unlucky 7921 (p2-block-node form target representation)) 7922 (t 7923 (print name) 7924 (aver (not "Can't happen."))) 7920 7925 ))))) 7921 7926 ((node-p form) … … 7930 7935 (p2-m-v-b-node form target) 7931 7936 (fix-boxing representation nil)) 7937 ((flet-node-p form) 7938 (p2-flet-node form target representation)) 7932 7939 ((locally-node-p form) 7933 7940 (p2-locally-node form target representation))
Note: See TracChangeset
for help on using the changeset viewer.