[movitz-cvs] CVS update: movitz/compiler.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Tue Jan 4 20:21:18 UTC 2005
Update of /project/movitz/cvsroot/movitz
In directory common-lisp.net:/tmp/cvs-serv12548
Modified Files:
compiler.lisp
Log Message:
Fixed bug in make-compiled-lexical-control-transfer that would cause
ESP not to be reset correctly in some situations.
Date: Tue Jan 4 21:21:11 2005
Author: ffjeld
Index: movitz/compiler.lisp
diff -u movitz/compiler.lisp:1.126 movitz/compiler.lisp:1.127
--- movitz/compiler.lisp:1.126 Tue Jan 4 17:53:46 2005
+++ movitz/compiler.lisp Tue Jan 4 21:21:11 2005
@@ -8,7 +8,7 @@
;;;; Created at: Wed Oct 25 12:30:49 2000
;;;; Distribution: See the accompanying file COPYING.
;;;;
-;;;; $Id: compiler.lisp,v 1.126 2005/01/04 16:53:46 ffjeld Exp $
+;;;; $Id: compiler.lisp,v 1.127 2005/01/04 20:21:11 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -5950,7 +5950,7 @@
return-mode)
`((:jmp ',to-label)))))
((plusp num-dynamic-slots)
- ;; (warn "num-dynamic-slots: ~S" num-dynamic-slots)
+ ;; (warn "num-dynamic-slots: ~S, distance: ~D" num-dynamic-slots stack-distance)
(compiler-values ()
:returns :non-local-exit
:code (append return-code
@@ -5966,10 +5966,8 @@
(:locally (:call (:edi (:edi-offset dynamic-unwind-next))))
(:locally (:movl :eax (:edi (:edi-offset dynamic-env))))
(:jc '(:sub-program () (:int 63))))))
- (make-compiled-stack-restore stack-distance
- (exit-result-mode to-env)
- return-mode)
- `((:jmp ',to-label)))))
+ `((:leal (:esp ,(* 4 stack-distance)) :esp)
+ (:jmp ',to-label)))))
(t (error "unknown!")))))
(defun make-compiled-push-current-values ()
More information about the Movitz-cvs
mailing list