[movitz-cvs] CVS movitz

ffjeld ffjeld at common-lisp.net
Mon Apr 14 20:39:42 UTC 2008


Update of /project/movitz/cvsroot/movitz
In directory clnet:/tmp/cvs-serv12646

Modified Files:
	compiler.lisp 
Log Message:
Fix a compiler bug where the compiler would barf on e.g. (flet ((foo ..)) (lambda () #'foo)).


--- /project/movitz/cvsroot/movitz/compiler.lisp	2008/04/12 16:46:05	1.200
+++ /project/movitz/cvsroot/movitz/compiler.lisp	2008/04/14 20:39:42	1.201
@@ -8,7 +8,7 @@
 ;;;; Created at:    Wed Oct 25 12:30:49 2000
 ;;;; Distribution:  See the accompanying file COPYING.
 ;;;;                
-;;;; $Id: compiler.lisp,v 1.200 2008/04/12 16:46:05 ffjeld Exp $
+;;;; $Id: compiler.lisp,v 1.201 2008/04/14 20:39:42 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -6377,7 +6377,7 @@
 
 (defun ensure-local-binding (binding funobj)
   "When referencing binding in funobj, ensure we have the binding local to funobj."
-  (if (typep binding '(or (not binding) constant-object-binding))
+  (if (typep binding '(or (not binding) constant-object-binding funobj-binding))
       binding ; Never mind if "binding" isn't a binding, or is a constant-binding.
       (let ((target-binding (binding-target binding)))
         (cond
@@ -7145,7 +7145,9 @@
 but it's requested to be in ~S."
 			   destreg)
 			 (let ((srcloc (new-binding-location (binding-target src) frame-map)))
-			   (unless (eql srcloc loc1) (break))
+			   (unless (eql srcloc loc1)
+			     #+ignore (break)
+			     (warn "add srcloc: ~S, loc1: ~S" srcloc loc1))
 			   (if (integerp srcloc)
 			       `((:addl (:ebp ,(stack-frame-offset srcloc))
 					,destreg)




More information about the Movitz-cvs mailing list