[armedbear-cvs] r12102 - trunk/abcl/src/org/armedbear/lisp
Erik Huelsmann
ehuelsmann at common-lisp.net
Thu Aug 13 21:13:56 UTC 2009
Author: ehuelsmann
Date: Thu Aug 13 17:13:54 2009
New Revision: 12102
Log:
Convert PROGV block-nodes to PROGV-NODEs.
Modified:
trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp
trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
Modified: trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp (original)
+++ trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp Thu Aug 13 17:13:54 2009
@@ -779,7 +779,7 @@
(return-from p1-progv (p1 new-form))))
(let* ((symbols-form (p1 (cadr form)))
(values-form (p1 (caddr form)))
- (block (make-block-node '(PROGV)))
+ (block (make-progv-node))
(*blocks* (cons block *blocks*))
(body (cdddr form)))
;; The (commented out) block below means to detect compile-time
@@ -790,9 +790,9 @@
;; (dolist (name (second symbols-form))
;; (let ((variable (make-variable :name name :special-p t)))
;; (push
- (setf (block-form block)
+ (setf (progv-form block)
`(progv ,symbols-form ,values-form ,@(p1-body body))
- (block-environment-register block) t)
+ (progv-environment-register block) t)
block))
(defknown rewrite-progv (t) t)
Modified: trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp (original)
+++ trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp Thu Aug 13 17:13:54 2009
@@ -4791,12 +4791,12 @@
(defun p2-progv-node (block target representation)
(declare (ignore representation))
- (let* ((form (block-form block))
+ (let* ((form (progv-form block))
(symbols-form (cadr form))
(values-form (caddr form))
(*register* *register*)
(environment-register
- (setf (block-environment-register block) (allocate-register)))
+ (setf (progv-environment-register block) (allocate-register)))
(label-START (gensym)))
(compile-form symbols-form 'stack nil)
(compile-form values-form 'stack nil)
@@ -7920,19 +7920,11 @@
((eq name 'MULTIPLE-VALUE-BIND)
(p2-m-v-b-node form target)
(fix-boxing representation nil))
- ((eq name 'UNWIND-PROTECT)
- (p2-unwind-protect-node form target)
- (fix-boxing representation nil))
- ((eq name 'CATCH)
- (p2-catch-node form target)
- (fix-boxing representation nil))
((eq name 'PROGV)
(p2-progv-node form target representation))
((eq name 'LOCALLY)
(p2-locally-node form target representation))
- ((eq name 'THREADS:SYNCHRONIZED-ON)
- (p2-threads-synchronized-on form target)
- (fix-boxing representation nil)))))))
+ )))))
((node-p form)
(cond
((tagbody-node-p form)
More information about the armedbear-cvs
mailing list