idiosyncratic ideas of what merits FAILURE-P, but it's
embarrassing to have to use it when bootstrapping
under SBCL!),
- ** weird double-loading (first in GENESIS, then in warm init)
- of src/assembly/target/*.lisp stuff, and the associated
- weirdness of the half-baked state (compiler almost but
- not quite ready for prime time..) of the system after
- cold init
* fixups now feasible because of pre7 changes
** ANSIfied DECLAIM INLINE stuff (deprecating MAYBE-INLINE,
including e.g. on the man page)
("src/compiler/target/type-vops")
("src/compiler/generic/late-type-vops")
- ("src/assembly/target/assem-rtns" :assem)
- ("src/assembly/target/array" :assem)
- ("src/assembly/target/arith" :assem)
- ("src/assembly/target/alloc" :assem)
+ ;; KLUDGE: The assembly files need to be compiled twice: once as
+ ;; normal lisp files, and once by sb-c:assemble-file. We play some
+ ;; symlink games to make sure we don't scribble over anything we
+ ;; shouldn't, but these are actually the same files:
+
+ ("src/compiler/assembly/target/assem-rtns")
+ ("src/compiler/assembly/target/array")
+ ("src/compiler/assembly/target/arith")
+ ("src/compiler/assembly/target/alloc")
+ ("src/assembly/target/assem-rtns" :assem :not-host)
+ ("src/assembly/target/array" :assem :not-host)
+ ("src/assembly/target/arith" :assem :not-host)
+ ("src/assembly/target/alloc" :assem :not-host)
("src/compiler/pseudo-vops")
(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 assembly files here 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