[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