(load "src/cold/defun-load-or-cload-xcompiler.lisp")
(load-or-cload-xcompiler #'host-load-stem)
(defun proclaim-target-optimization ()
- (let ((debug (if (find :sb-show *shebang-features*) 2 1)))
+ (let ((debug (if (position :sb-show *shebang-features*) 2 1)))
(sb-xc:proclaim `(optimize (compilation-speed 1)
(debug ,debug)
(sb!ext:inhibit-warnings 2)
(let (;; Life is simpler at genesis/cold-load time if we
;; needn't worry about byte-compiled code.
(sb!ext:*byte-compile-top-level* nil)
- ;; In order to reduce peak memory usage during GENESIS,
- ;; it helps to stuff several toplevel forms together
- ;; into the same function.
- (sb!c::*top-level-lambda-max* 10)
+ ;; In order to increase microefficiency of the target Lisp,
+ ;; enable old CMU CL defined-function-types-never-change
+ ;; optimizations. (ANSI says users aren't supposed to
+ ;; redefine our functions anyway; and developers can
+ ;; fend for themselves.)
+ #!-sb-fluid (sb!ext:*derive-function-types* t)
+ ;; FIXME: *TOP-LEVEL-LAMBDA-MAX* should go away altogether.
+ (sb!c::*top-level-lambda-max* 1)
;; Let the target know that we're the cross-compiler.
(*features* (cons :sb-xc *features*))
;; We need to tweak the readtable..
;; Let's check that the type system was reasonably sane. (It's
;; easy to spend a long time wandering around confused trying
;; to debug cold init if it wasn't.)
- (when (find :sb-test *shebang-features*)
+ (when (position :sb-test *shebang-features*)
(load "tests/type.after-xc.lisp"))
;; If you're experimenting with the system under a
;; cross-compilation host which supports CMU-CL-style SAVE-LISP,
;; this can be a good time to run it. The resulting core isn't
;; used in the normal build, but can be handy for experimenting
- ;; with the system.
-
- ;; REMOVEME: should be conditional on :SB-SHOW again
- ;;(when (find :sb-show *shebang-features*)
+ ;; with the system. (See slam.sh for an example.)
+ (when (position :sb-after-xc-core *shebang-features*)
#+cmu (ext:save-lisp "output/after-xc.core" :load-init-file nil)
#+sbcl (sb-ext:save-lisp-and-die "output/after-xc.core")
- ;;)
+ )
EOF
# Run GENESIS (again) in order to create cold-sbcl.core. (The first