[movitz-cvs] CVS update: movitz/compiler.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Tue Jul 20 12:59:54 UTC 2004
Update of /project/movitz/cvsroot/movitz
In directory common-lisp.net:/tmp/cvs-serv25072
Modified Files:
compiler.lisp
Log Message:
Made primitive-function ensure-heap-cons-variable no longer preserve
EDX, because it's very difficult to preserve EDX while also observing
the GC invariant that a primitive-function cannot call another
primitive-function.
Date: Tue Jul 20 05:59:53 2004
Author: ffjeld
Index: movitz/compiler.lisp
diff -u movitz/compiler.lisp:1.79 movitz/compiler.lisp:1.80
--- movitz/compiler.lisp:1.79 Tue Jul 20 04:39:21 2004
+++ movitz/compiler.lisp Tue Jul 20 05:59:53 2004
@@ -8,7 +8,7 @@
;;;; Created at: Wed Oct 25 12:30:49 2000
;;;; Distribution: See the accompanying file COPYING.
;;;;
-;;;; $Id: compiler.lisp,v 1.79 2004/07/20 11:39:21 ffjeld Exp $
+;;;; $Id: compiler.lisp,v 1.80 2004/07/20 12:59:53 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -3489,7 +3489,9 @@
(append (make-load-lexical lended-binding :eax funobj t frame-map)
(unless (or (typep lended-binding 'borrowed-binding)
(getf (binding-lended-p lended-binding) :dynamic-extent-p))
- (append `((:globally (:call (:edi (:edi-offset ensure-heap-cons-variable)))))
+ (append `((:pushl :edx)
+ (:globally (:call (:edi (:edi-offset ensure-heap-cons-variable))))
+ (:popl :edx))
(make-store-lexical lended-binding :eax t frame-map)))
`((:movl :eax
(,funobj-register
More information about the Movitz-cvs
mailing list