[movitz-cvs] CVS update: movitz/special-operators-cl.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Fri Nov 12 15:13:48 UTC 2004


Update of /project/movitz/cvsroot/movitz
In directory common-lisp.net:/tmp/cvs-serv10485

Modified Files:
	special-operators-cl.lisp 
Log Message:
No longer need to push unbound-value as part of dynamic-binding's env-slots.

Date: Fri Nov 12 16:13:47 2004
Author: ffjeld

Index: movitz/special-operators-cl.lisp
diff -u movitz/special-operators-cl.lisp:1.32 movitz/special-operators-cl.lisp:1.33
--- movitz/special-operators-cl.lisp:1.32	Fri Nov 12 15:39:04 2004
+++ movitz/special-operators-cl.lisp	Fri Nov 12 16:13:47 2004
@@ -9,7 +9,7 @@
 ;;;; Created at:    Fri Nov 24 16:31:11 2000
 ;;;; Distribution:  See the accompanying file COPYING.
 ;;;;                
-;;;; $Id: special-operators-cl.lisp,v 1.32 2004/11/12 14:39:04 ffjeld Exp $
+;;;; $Id: special-operators-cl.lisp,v 1.33 2004/11/12 15:13:47 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -83,7 +83,7 @@
 				      :form init-form
 				      :modify-accumulate let-modifies
 				      :result-mode :push)
-				    `((:globally (:pushl (:edi (:edi-offset unbound-value)))))
+				    `((:pushl :edi)) ; scratch
 				    (prog1 nil (incf (stack-used init-env) 2))
 				    (compiler-call #'compile-self-evaluating ; binding name
 				      :env init-env
@@ -1103,11 +1103,10 @@
 			  (:movl (:eax 3) :eax) ; (pop values)
 			  ,no-more-values
 			  (:pushl :edx)	; push (car values) [[ binding value ]]
-			  (:globally (:pushl (:edi (:edi-offset unbound-value)))) ;  [[ binding tag ]]
+			  (:pushl :edi)	; push binding scratch
 			  (:pushl (:ebx -1)) ; push (car symbols) [[ binding name ]]
 			  (:movl (:ebx 3) :ebx) ; (pop symbols)
 			  (:addl 4 :ecx)
-			  ;; (:jc '(:sub-program (too-many-symbols) (:int 71)))
 			  (:pushl :esp)	; push next tail
 			  (:jmp ',loop)
 			  ,no-more-symbols





More information about the Movitz-cvs mailing list