[movitz-cvs] CVS update: movitz/compiler.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Sat Apr 17 14:10:03 UTC 2004
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
More information about the Movitz-cvs
mailing list