[armedbear-cvs] r14420 - trunk/abcl/src/org/armedbear/lisp

ehuelsmann at common-lisp.net ehuelsmann at common-lisp.net
Mon Mar 4 23:05:26 UTC 2013


Author: ehuelsmann
Date: Mon Mar  4 15:05:12 2013
New Revision: 14420

Log:
Fix #308: Compiled FLET exhausts the stack.

Modified:
   trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp

Modified: trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp	Sun Mar  3 14:06:26 2013	(r14419)
+++ trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp	Mon Mar  4 15:05:12 2013	(r14420)
@@ -2122,7 +2122,9 @@
               (format t ";   full call to ~S~%" op)))))
       (when (or (<= *speed* *debug*) *require-stack-frame*)
         (emit-push-current-thread))
-      (cond ((eq op (compiland-name *current-compiland*)) ; recursive call
+      (cond ((and (eq op (compiland-name *current-compiland*))
+                  (null (compiland-parent *current-compiland*)))
+                                        ; recursive call
              (if (notinline-p op)
                  (emit-load-externalized-object op)
                  (aload 0)))




More information about the armedbear-cvs mailing list