0.7.12.38:
[sbcl.git] / src / cold / warm.lisp
index 7a615fc..4d13d25 100644 (file)
 \f
 ;;;; general warm init compilation policy
 
+
 (proclaim '(optimize (compilation-speed 1)
                     (debug #+sb-show 2 #-sb-show 1)
                     (inhibit-warnings 2)
-                    (safety 1)
+                    (safety 2)
                     (space 1)
                     (speed 2)))
 \f
-;;;; KLUDGE: Compile and load files which really belong in cold load but are
-;;;; here for various unsound reasons. We handle them here, before the package
-;;;; hacking below, because they use the SB!FOO cold package name convention
-;;;; instead of the SB-FOO final package name convention (since they really
-;;;; do belong in cold load and will hopefully make it back there reasonably
-;;;; soon). -- WHN 19991207
-
-(dolist (stem '(;; FIXME: The files here from outside the src/pcl directory
-               ;; probably belong in cold load instead of warm load. They
-               ;; ended up here as a quick hack to work around the
-               ;; consequences of my misunderstanding how ASSEMBLE-FILE works
-               ;; when I wrote the cold build code. The cold build code
-               ;; expects only one FASL filename per source file, when it
-               ;; turns out we really need one FASL file for ASSEMBLE-FILE
-               ;; output and another for COMPILE-FILE output. It would
-               ;; probably be good to redo the cold build code so that the
-               ;; COMPILE-FILE stuff generated here can be loaded at the same
-               ;; time as the ASSEMBLE-FILE stuff generated there.
-               "src/assembly/target/assem-rtns"
-               "src/assembly/target/array"
-               "src/assembly/target/arith"
-               "src/assembly/target/alloc"))
-  ;; KLUDGE: Cut-and-paste programming, the sign of a true professional.:-|
-  ;; (Hopefully this will go away as we move the files above into cold load.)
-  ;; -- WHN 19991214
-  (let ((fullname (concatenate 'string stem ".lisp")))
-    ;; (Now that we use byte compiler for interpretation, /SHOW
-    ;; doesn't get compiled properly until the src/assembly files have
-    ;; been loaded, so we use PRINT instead.)
-    #+sb-show (print "/about to compile src/assembly file")
-    #+sb-show (print fullname)
-    (multiple-value-bind
-       (compiled-truename compilation-warnings-p compilation-failure-p)
-       (compile-file fullname)
-      (declare (ignore compilation-warnings-p))
-      #+sb-show (print "/done compiling src/assembly file")
-      (if compilation-failure-p
-         (error "COMPILE-FILE of ~S failed." fullname)
-         (unless (load compiled-truename)
-           (error "LOAD of ~S failed." compiled-truename))))))
-\f
 ;;;; package hacking
 
-;;; Our cross-compilation host is out of the picture now, so we no longer need
-;;; to worry about collisions between our package names and cross-compilation
-;;; host package names, so now is a good time to rename any package with a
-;;; bootstrap-only name SB!FOO to its permanent name SB-FOO.
+;;; Our cross-compilation host is out of the picture now, so we no
+;;; longer need to worry about collisions between our package names
+;;; and cross-compilation host package names, so now is a good time to
+;;; rename any package with a bootstrap-only name SB!FOO to its
+;;; permanent name SB-FOO.
 ;;;
-;;; (In principle it might be tidier to do this when dumping the cold image in
-;;; genesis, but in practice the logic might be a little messier because
-;;; genesis dumps both symbols and packages, and we'd need to make that dumped
-;;; symbols were renamed in the same way as dumped packages. Or we could do it
-;;; in cold init, but it's easier to experiment with and debug things here in
-;;; warm init than in cold init, so we do it here instead.)
+;;; (In principle it might be tidier to do this when dumping the cold
+;;; image in genesis, but in practice the logic might be a little
+;;; messier because genesis dumps both symbols and packages, and we'd
+;;; need to make sure that dumped symbols were renamed in the same way
+;;; as dumped packages. Or we could do it in cold init, but it's
+;;; easier to experiment with and debug things here in warm init than
+;;; in cold init, so we do it here instead.)
 (let ((boot-prefix "SB!")
       (perm-prefix "SB-"))
   (dolist (package (list-all-packages))
   (rename-package package
                  (package-name package)
                  (cons "SB-C-CALL" (package-nicknames package))))
-
-;;; KLUDGE: This is created here (instead of in package-data-list.lisp-expr)
-;;; because it doesn't have any symbols in it, so even if it's
-;;; present at cold load time, genesis thinks it's unimportant
-;;; and doesn't dump it. There's gotta be a better way, but for now
-;;; I'll just do it here. (As noted below, I'd just as soon have this
-;;; go away entirely, so I'm disinclined to fiddle with it too much.)
-;;; -- WHN 19991206
-;;;
-;;; FIXME: Why do slot accessor names need to be interned anywhere? For
-;;; low-level debugging? Perhaps this should go away, or at least
-;;; be optional, controlled by SB-SHOW or something.
-(defpackage "SB-SLOT-ACCESSOR-NAME"
-  (:use))
 \f
 ;;;; compiling and loading more of the system
 
 (dolist (stem '(;; CLOS, derived from the PCL reference implementation
                ;;
                ;; This PCL build order is based on a particular
-               ;; linearization of the declared build order
-               ;; dependencies from the old PCL defsys.lisp
+               ;; (arbitrary) linearization of the declared build
+               ;; order dependencies from the old PCL defsys.lisp
                ;; dependency database.
-               "src/pcl/walk"
-                ;; "src/pcl/iterate" removed 2001-12-20 njf
+               #+nil "src/pcl/walk" ; #+NIL = moved to build-order.lisp-expr
                "src/pcl/early-low"
                "src/pcl/macros"
                 "src/pcl/compiler-support"
                "src/pcl/low"
-               ;; "src/pcl/fin" merged into "src/pcl/low" in 0.6.11.43
+                "src/pcl/slot-name"
                "src/pcl/defclass"
                "src/pcl/defs"
                "src/pcl/fngen"
                "src/pcl/slots-boot"
                "src/pcl/combin"
                "src/pcl/dfun"
-               "src/pcl/fast-init"
+               "src/pcl/ctor"
                "src/pcl/braid"
                "src/pcl/dlisp3"
                "src/pcl/generic-functions"
                ;; to warm init to reduce peak memory requirement in
                ;; cold init
                "src/code/describe"
+                "src/code/describe-policy"
                "src/code/inspect"
                "src/code/profile"
                "src/code/ntrace"
 ;;; through the cold boot process. They need to be set somewhere. Maybe the
 ;;; easiest thing to do is to read them out of package-data-list.lisp-expr
 ;;; now?
-\f
-;;;; restoring compilation policy to neutral values in preparation for
-;;;; SAVE-LISP-AND-DIE as final SBCL core
-
-(sb-int:/show "setting compilation policy to neutral values")
-(proclaim '(optimize (compilation-speed 1)
-                    (debug 1)
-                    (inhibit-warnings 1)
-                    (safety 1)
-                    (space 1)
-                    (speed 1)))