0.pre7.76:
[sbcl.git] / src / cold / warm.lisp
index 6b0dfc6..6dbdb4c 100644 (file)
@@ -27,7 +27,7 @@
 ;;;; 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
+(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
   ;; (Hopefully this will go away as we move the files above into cold load.)
   ;; -- WHN 19991214
   (let ((fullname (concatenate 'string stem ".lisp")))
-    (sb!int:/show "about to compile" fullname)
+    ;; (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!int:/show "done compiling" fullname)
+      #+sb-show (print "/done compiling src/assembly file")
       (if compilation-failure-p
          (error "COMPILE-FILE of ~S failed." fullname)
          (unless (load compiled-truename)
 ;;;
 ;;; FIXME: This has mutated into a hack which crudely duplicates
 ;;; functionality from the existing mechanism to load files from
-;;; stems-and-flags.lisp-expr, without being quite parallel. (E.g.
-;;; object files end up alongside the source files instead of ending
-;;; up in parallel directory trees.) Maybe we could merge the
-;;; filenames here into stems-and-flags.lisp-expr with some new flag
-;;; (perhaps :WARM) to indicate that the files should be handled not
-;;; in cold load but afterwards. Alternatively, we could call
-(dolist (stem '(
-               ;; CLOS, derived from the PCL reference implementation
+;;; build-order.lisp-expr, without being quite parallel. (E.g. object
+;;; files end up alongside the source files instead of ending up in
+;;; parallel directory trees.) Maybe we could merge the filenames here
+;;; into build-order.lisp-expr with some new flag (perhaps :WARM) to
+;;; indicate that the files should be handled not in cold load but
+;;; afterwards. 
+(dolist (stem '(;; CLOS, derived from the PCL reference implementation
                ;;
                ;; This PCL build order is based on a particular
                ;; linearization of the declared build order
                "src/pcl/iterate"
                "src/pcl/early-low"
                "src/pcl/macros"
+                "src/pcl/compiler-support"
                "src/pcl/low"
-               "src/pcl/fin"
+               ;; "src/pcl/fin" merged into "src/pcl/low" in 0.6.11.43
                "src/pcl/defclass"
                "src/pcl/defs"
                "src/pcl/fngen"
                "src/pcl/print-object"
                "src/pcl/precom1"
                "src/pcl/precom2"
-               ;; functionality which depends on CLOS
+
+               ;; miscellaneous functionality which depends on CLOS
                "src/code/force-delayed-defbangmethods"
+
+               ;; CLOS-level support for the Gray OO streams
+               ;; extension (which is also supported by various
+               ;; lower-level hooks elsewhere in the code)
+               "src/pcl/gray-streams-class"
+               "src/pcl/gray-streams"
+
                ;; other functionality not needed for cold init, moved
                ;; to warm init to reduce peak memory requirement in
                ;; cold init
-               "src/code/describe" ; FIXME: should be byte compiled
-               "src/code/inspect" ; FIXME: should be byte compiled
+               "src/code/describe"
+               "src/code/inspect"
                "src/code/profile"
                "src/code/ntrace"
                "src/code/foreign"
                "src/code/run-program"
+
                ;; Code derived from PCL's pre-ANSI DESCRIBE-OBJECT
                ;; facility is still used in our ANSI DESCRIBE
                ;; facility, and should be compiled and loaded after
                ;; our DESCRIBE facility is compiled and loaded.
-               "src/pcl/describe" ; FIXME: should probably be byte compiled
-               ;; FIXME: What about Gray streams? e.g. "gray-streams.lisp"
-               ;; and "gray-streams-class.lisp"?
-               ))
+               "src/pcl/describe"))
+
   (let ((fullname (concatenate 'string stem ".lisp")))
     (sb-int:/show "about to compile" fullname)
     (multiple-value-bind
                     (safety 1)
                     (space 1)
                     (speed 1)))
-\f
-;;; FIXME: It would be good to unintern stuff we will no longer need
-;;; before we go on to PURIFY. E.g.
-;;;  * various PCL stuff like INITIAL-CLASSES-AND-WRAPPERS; and
-;;;  * *BUILT-IN-CLASSES* (which can't actually be freed by UNINTERN at
-;;;    this point, since it passed through another PURIFY earlier
-;;;    at cold init time).