(in-package "SB!VM")
+(def!macro !configure-dynamic-space-end (default)
+ (with-open-file (f "output/dynamic-space-size.txt")
+ (let ((line (read-line f)))
+ (multiple-value-bind (number end)
+ (parse-integer line :junk-allowed t)
+ (if number
+ (let* ((ext (subseq line end))
+ (mult (cond ((or (zerop (length ext))
+ (member ext '("MB MIB") :test #'equalp))
+ (expt 2 20))
+ ((member ext '("GB" "GIB") :test #'equalp)
+ (expt 2 30))
+ (t
+ (error "Invalid --dynamic-space-size=~A" line)))))
+ `(+ dynamic-space-start ,(* number mult)))
+ default)))))
+
(defparameter *c-callable-static-symbols*
'(sub-gc
sb!kernel::post-gc
#!-sb-thread
*stepping*
+ ;; threading support
+ #!+sb-thread *stop-for-gc-pending*
+ #!+sb-thread *free-tls-index*
+ #!+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)))
+ *pinned-objects*
;; hash table weaknesses
:key
;;; of symbols with thread local bindings.
(def!constant tls-size 4096)
+#!+gencgc
+(progn
+ (def!constant +highest-normal-generation+ 5)
+ (def!constant +pseudo-static-generation+ 6))
+
(defenum ()
trace-table-normal
trace-table-call-site