don't stack-allocate specialized vectors on non-conservtive control stacks
[sbcl.git] / src / compiler / generic / parms.lisp
index dfdcaa5..4d793be 100644 (file)
@@ -12,7 +12,7 @@
 
 (in-package "SB!VM")
 
-(def!macro !configure-dynamic-space-end (default)
+(def!macro !configure-dynamic-space-end (&optional default)
   (with-open-file (f "output/dynamic-space-size.txt")
     (let ((line (read-line f)))
       (multiple-value-bind (number end)
                                (t
                                 (error "Invalid --dynamic-space-size=~A" line)))))
               `(+ dynamic-space-start ,(* number mult)))
-            default)))))
+            (or default
+                `(+ dynamic-space-start
+                    (ecase n-word-bits
+                      (32 (expt 2 29))
+                      (64 (expt 2 30))))))))))
 
 (defparameter *c-callable-static-symbols*
   '(sub-gc
     #!+sb-thread *tls-index-lock*
 
     ;; Dispatch tables for generic array access
-    sb!impl::*data-vector-reffers*
-    sb!impl::*data-vector-setters*
-    sb!impl::*data-vector-reffers/check-bounds*
-    sb!impl::*data-vector-setters/check-bounds*
+    sb!impl::%%data-vector-reffers%%
+    sb!impl::%%data-vector-reffers/check-bounds%%
+    sb!impl::%%data-vector-setters%%
+    sb!impl::%%data-vector-setters/check-bounds%%
 
     ;; non-x86oid gencgc object pinning
     #!+(and gencgc (not (or x86 x86-64)))