[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