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)