diff options
-rw-r--r-- | sb-eval2.lisp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sb-eval2.lisp b/sb-eval2.lisp index f2ff15b..62bd3a7 100644 --- a/sb-eval2.lisp +++ b/sb-eval2.lisp @@ -40,7 +40,11 @@ (,data% (make-array (list ,size%))) (,var (%make-environment :parent ,parent :data ,data%))) (declare (type (mod #.(1+ +stack-max+)) ,size%) - (dynamic-extent ,var) + ;; we must not allocate environment objects on the + ;; stack unless we can be sure that all child + ;; environments will also be allocated on the stack, + ;; but we can't really know that. + ;(dynamic-extent ,var) (dynamic-extent ,data%)) ,@body))) |