[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