Update of /project/movitz/cvsroot/movitz In directory common-lisp.net:/tmp/cvs-serv9897
Modified Files: compiler.lisp Log Message: Be slightly more clever about when to implicitly insert stack-limit-checks.
Date: Sat Apr 17 10:10:01 2004 Author: ffjeld
Index: movitz/compiler.lisp diff -u movitz/compiler.lisp:1.50 movitz/compiler.lisp:1.51 --- movitz/compiler.lisp:1.50 Fri Apr 16 19:38:41 2004 +++ movitz/compiler.lisp Sat Apr 17 10:10:00 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.50 2004/04/16 23:38:41 ffjeld Exp $ +;;;; $Id: compiler.lisp,v 1.51 2004/04/17 14:10:00 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -728,7 +728,9 @@ (multiple-value-bind (prelude-code have-normalized-ecx-p) (make-compiled-function-prelude stack-frame-size function-env use-stack-frame-p (need-normalized-ecx-p function-env) frame-map - :do-check-stack-p t) + :do-check-stack-p (or (<= 32 stack-frame-size) + (tree-search resolved-code + '(:call)))) (let ((function-code (install-arg-cmp (append prelude-code resolved-code @@ -2702,7 +2704,8 @@ (truncate (or (position-if (lambda (i) (member b (find-read-bindings i))) - (cdr init-pc)) + (cdr init-pc) + #-sbcl :end #-sbcl 10) 15) count))))))))) ;; First, make several passes while trying to locate bindings