[armedbear-cvs] r12099 - trunk/abcl/src/org/armedbear/lisp
Erik Huelsmann
ehuelsmann at common-lisp.net
Thu Aug 13 13:17:07 UTC 2009
Author: ehuelsmann
Date: Thu Aug 13 09:17:06 2009
New Revision: 12099
Log:
Convert UNWIND-PROTECT block-nodes to UNWIND-PROTECT-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 09:17:06 2009
@@ -340,7 +340,7 @@
;;
;; However, p1 transforms the forms being processed, so, we
;; need to copy the forms to create a second copy.
- (let* ((block (make-block-node '(UNWIND-PROTECT)))
+ (let* ((block (make-unwind-protect-node :name '(UNWIND-PROTECT)))
;; a bit of jumping through hoops...
(unwinding-forms (p1-body (copy-tree (cddr form))))
(unprotected-forms (p1-body (cddr form)))
@@ -348,7 +348,7 @@
;; protected by the UNWIND-PROTECT block
(*blocks* (cons block *blocks*))
(protected-form (p1 (cadr form))))
- (setf (block-form block)
+ (setf (unwind-protect-form block)
`(unwind-protect ,protected-form
(progn , at unwinding-forms)
, at unprotected-forms))
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 09:17:06 2009
@@ -7783,7 +7783,7 @@
(emit-move-from-stack target)))
(defun p2-unwind-protect-node (block target)
- (let ((form (block-form block)))
+ (let ((form (unwind-protect-form block)))
(when (= (length form) 2) ; No cleanup form.
(compile-form (second form) target nil)
(return-from p2-unwind-protect-node))
More information about the armedbear-cvs
mailing list