X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=stems-and-flags.lisp-expr;h=734068250e8f66e7c56ccdf0cd1721e9584bee16;hb=f61bddabbb69f1347b81b8ab76e709635a7a0739;hp=8e2f1253b9c46d434bf56ebd3de7275ca1623264;hpb=c8218514d751c4d777892b79bbf1ca6597f731c0;p=sbcl.git diff --git a/stems-and-flags.lisp-expr b/stems-and-flags.lisp-expr index 8e2f125..7340682 100644 --- a/stems-and-flags.lisp-expr +++ b/stems-and-flags.lisp-expr @@ -88,11 +88,11 @@ ("src/compiler/target/parms") ("src/code/early-array") ; needs "early-vm" numbers - ("src/code/parse-body") ; on host for PARSE-BODY - ("src/code/parse-defmacro") ; on host for PARSE-DEFMACRO - ("src/code/extensions") ; on host for COLLECT, SYMBOLICATE, etc. - ("src/compiler/deftype") ; on host for SB!XC:DEFTYPE - ("src/code/early-alieneval") ; for vars needed both at build and run time + ("src/code/parse-body") ; on host for PARSE-BODY + ("src/code/parse-defmacro") ; on host for PARSE-DEFMACRO + ("src/code/early-extensions") ; on host for COLLECT, SYMBOLICATE, etc. + ("src/compiler/deftype") ; on host for SB!XC:DEFTYPE + ("src/code/early-alieneval") ; for vars needed both at build and run time ("src/code/specializable-array") @@ -120,6 +120,8 @@ ("src/code/defbangstruct") + ("src/code/funutils" :not-host) + ;; This needs DEF!STRUCT, and is itself needed early so that structure ;; accessors and inline functions defined here can be compiled inline ;; later. (Avoiding full calls not only increases efficiency, but also @@ -142,9 +144,7 @@ ;; "maybe should be :BYTE-COMPILE T". Once the system is stable, ;; look into them. - ("src/code/early-target-error" :not-host) ; maybe should be :BYTE-COMPILE T - ;; FIXME: maybe should be called "target-error", with "late-target-error" - ;; called "condition" + ("src/code/target-error" :not-host) ; maybe should be :BYTE-COMPILE T ;; a comment from classic CMU CL: ;; "These guys can supposedly come in any order, but not really. @@ -213,23 +213,21 @@ ("src/code/target-signal" :not-host) ; needs OS-CONTEXT-T from x86-vm - ("src/code/symbol" :not-host) - ("src/code/bignum" :not-host) - ("src/code/target-numbers" :not-host) - ("src/code/float-trap" :not-host) - ("src/code/float" :not-host) - ("src/code/irrat" :not-host) + ("src/code/symbol" :not-host) + ("src/code/bignum" :not-host) + ("src/code/numbers" :not-host) + ("src/code/float-trap" :not-host) + ("src/code/float" :not-host) + ("src/code/irrat" :not-host) ("src/code/char") ("src/code/target-char" :not-host) ("src/code/target-misc" :not-host) ("src/code/misc") - #!-gengc ("src/code/room" :not-host) - #!-gengc ("src/code/gc" :not-host) - #!-gengc ("src/code/purify" :not-host) - - #!+gengc ("src/code/gengc" :not-host) + ("src/code/room" :not-host) + ("src/code/gc" :not-host) + ("src/code/purify" :not-host) ("src/code/stream" :not-host) ("src/code/print" :not-host) @@ -246,11 +244,6 @@ ("src/code/module" :not-host) ; maybe should be :BYTE-COMPILE T - #!+sb-interpreter - ("src/code/eval") - - ("src/code/target-eval" :not-host) ; FIXME: uses INFO, wants compiler macro - ("src/code/interr" :not-host) ("src/code/query" :not-host) ; maybe should be :BYTE-COMPILE T @@ -264,14 +257,14 @@ ("src/code/setf-funs" :not-host) + ("src/code/stubs" :not-host) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; compiler (and a few miscellaneous files whose dependencies make it ;;; convenient to stick them here) ("src/compiler/early-c") ("src/compiler/policy") - ("src/code/numbers") - ("src/code/typedefs") ;; ("src/code/defbangmacro" was here until sbcl-0.6.7.3.) @@ -322,7 +315,7 @@ ;; The definitions for CONDITION and CONDITION-CLASS depend on ;; SLOT-CLASS, defined in classes.lisp. - ("src/code/late-target-error" :not-host) ; FIXME: maybe should be :BYTE-COMPILE T + ("src/code/condition" :not-host) ; FIXME: maybe should be :BYTE-COMPILE T ("src/compiler/generic/primtype") @@ -423,7 +416,7 @@ ("src/code/load") - ("src/code/fop") ; needs macros from code/host-load.lisp + ("src/code/fop") ; needs macros from code/load.lisp ("src/compiler/ctype") ("src/compiler/disassem") @@ -438,7 +431,9 @@ ("src/compiler/main") ; needs DEFSTRUCT FASL-OUTPUT from dump.lisp ("src/compiler/target-main" :not-host) ("src/compiler/ir1tran") + ("src/compiler/ir1-translators") ("src/compiler/ir1util") + ("src/compiler/ir1report") ("src/compiler/ir1opt") ;; Compiling this file requires the macros SB!ASSEM:EMIT-LABEL and @@ -526,12 +521,6 @@ ("src/compiler/entry") ("src/compiler/ir2tran") - ;; KLUDGE: This has #!+GENGC things in it which are intended to - ;; overwrite code in ir2tran.lisp, so it has to come after ir2tran.lisp. - ;; - ;; FIXME: Those things should probably be ir2tran.lisp instead, and the - ;; things they now overwrite should instead be #!-GENGC so they're never - ;; generated in the first place. ("src/compiler/generic/vm-ir2tran") ("src/compiler/copyprop") @@ -555,24 +544,25 @@ ("src/code/macroexpand") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - ;; files which are only needed in the target system, and/or which are - ;; only possible in the target system, and which depend in some way - ;; (directly or indirectly) on stuff compiled as part of the compiler + ;; files which depend in some way (directly or indirectly) on stuff + ;; compiled as part of the compiler + ("src/code/late-extensions") ; needs condition system ("src/compiler/generic/target-core" :not-host) ; uses stuff from - ; "compiler/generic/core" + ; "compiler/generic/core" + ("src/code/eval" :not-host) ; uses INFO, wants compiler macro ("src/code/target-sap" :not-host) ; uses SAP-INT-TYPE ("src/code/target-package" :not-host) ; needs "code/package" ("src/code/target-random" :not-host) ; needs "code/random" ("src/code/target-hash-table" :not-host) ; needs "code/hash-table" ("src/code/reader" :not-host) ; needs "code/readtable" ("src/code/target-pathname" :not-host) ; needs "code/pathname", maybe - ; should be :BYTE-COMPILE T + ; should be :BYTE-COMPILE T ("src/code/filesys" :not-host) ; needs HOST from "code/pathname", - ; maybe should be :BYTE-COMPILE T + ; maybe should be :BYTE-COMPILE T ("src/code/save" :not-host) ; uses the definition of PATHNAME - ; from "code/pathname" + ; from "code/pathname" ("src/code/sharpm" :not-host) ; uses stuff from "code/reader" ;; stuff for byte compilation @@ -582,10 +572,12 @@ ;; host, because fundamental BYTE-FUNCTION-OR-CLOSURE types are ;; implemented as FUNCALLABLE-INSTANCEs, and it's not obvious how to ;; emulate those in a vanilla ANSI Common Lisp. + #| ; FIXME: byte compiler to go away completely ("src/code/byte-types" :not-host) ("src/compiler/byte-comp") ("src/compiler/target-byte-comp" :not-host) ("src/code/byte-interp" :not-host) ; needs byte-comp *SYSTEM-CONSTANT-CODES* + |# ;; defines SB!DI:DO-DEBUG-FUNCTION-BLOCKS, needed by target-disassem.lisp ("src/code/debug-int" :not-host) @@ -594,10 +586,6 @@ ("src/compiler/target-disassem" :not-host) ("src/compiler/target/target-insts" :not-host) - ;; the IR1 interpreter (as opposed to the byte code interpreter) - #!+sb-interpreter ("src/compiler/eval-comp" :not-host) - #!+sb-interpreter ("src/compiler/eval" :not-host) - ("src/code/debug" :not-host) ; maybe should be :BYTE-COMPILE T ;; These can't be compiled until CONDITION and DEFINE-CONDITION