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