;;;; provided with absolutely no warranty. See the COPYING and CREDITS
;;;; files for more information.
-;;; GC tuning has little effect on the x86 due to the generational
-;;; collector. For the older stop & copy collector, it assuredly
-;;; does. GC time is proportional to the amount of non-garbage
-;;; needing collection and copying; when the application involved is
-;;; the SBCL compiler, it doesn't take any longer to collect 20 Mb than
-;;; to collect 2 Mb. -dan, 20000819
-;;;
-;;; Actually, tweaking *BYTES-CONSED-BETWEEN-GCS* to 20Mb instead of
-;;; the default 2 seemed to make SBCL rebuild O(25%) faster on my 256
-;;; Mb K6/3, so I think it does have some effect on X86/GENCGC. I
-;;; haven't looked into why this would be, though. Also, I'm afraid
-;;; that using 20Mb here might be unfriendly to people using more-reasonable
-;;; machines (like old laptops with 48Mb of memory..) so I've
-;;; suppressed this tweak except for Alpha. -- WHN 2001-05-11
-#+(and sbcl alpha) ; SBCL/Alpha uses stop-and-copy, and Alphas have lotso RAM.
-(progn
- (sb-ext:gc-off)
- (setf (sb-ext:bytes-consed-between-gcs) (* 20 (expt 10 6)))
- (sb-ext:gc-on)
- (sb-ext:gc))
-
;;; SB-COLD holds stuff used to build the initial SBCL core file
;;; (including not only the final construction of the core file, but
;;; also the preliminary steps like e.g. building the cross-compiler
(format t
"target features *SHEBANG-FEATURES*=~@<~S~:>~%"
*shebang-features*))
+
+(defvar *shebang-backend-subfeatures*
+ (let* ((default-subfeatures nil)
+ (customizer-file-name "customize-backend-subfeatures.lisp")
+ (customizer (if (probe-file customizer-file-name)
+ (compile nil
+ (read-from-file customizer-file-name))
+ #'identity)))
+ (funcall customizer default-subfeatures)))
+(export '*shebang-backend-subfeatures*)
+(let ((*print-length* nil)
+ (*print-level* nil))
+ (format t
+ "target backend-subfeatures *SHEBANG-BACKEND-FEATURES*=~@<~S~:>~%"
+ *shebang-backend-subfeatures*))
\f
;;;; cold-init-related PACKAGE and SYMBOL tools
;;; values of special variables such as *** and +, anyway). Set up
;;; machinery to warn us when/if we change it.
;;;
-;;; FIXME: All this machinery should probably be conditional on
-;;; #!+SB-SHOW, i.e. we should be able to wrap #!+SB-SHOW around both
-;;; the LOAD and the DEFVAR here.
-(load "src/cold/snapshot.lisp")
-(defvar *cl-snapshot* (take-snapshot "COMMON-LISP"))
+;;; All code depending on this is itself dependent on #!+SB-SHOW.
+#!+sb-show
+(progn
+ (load "src/cold/snapshot.lisp")
+ (defvar *cl-snapshot* (take-snapshot "COMMON-LISP")))
\f
;;;; master list of source files and their properties