X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fcold-init.lisp;h=bc37148f24de8ef99e02eaacad807f66c61c5a89;hb=084168e1524a6493bc0f9d1697753d31239b158d;hp=fc26b92095ac1b1105e877ad525f0523a89fea48;hpb=0e2c926fea68a32c8ec58f12daa0c2b5befef1d4;p=sbcl.git diff --git a/src/code/cold-init.lisp b/src/code/cold-init.lisp index fc26b92..bc37148 100644 --- a/src/code/cold-init.lisp +++ b/src/code/cold-init.lisp @@ -92,8 +92,7 @@ ;; !UNIX-COLD-INIT. And *TYPE-SYSTEM-INITIALIZED* could be changed to ;; *TYPE-SYSTEM-INITIALIZED-WHEN-BOUND* so that it doesn't need to ;; be explicitly set in order to be meaningful. - (setf *gc-notify-stream* nil - *before-gc-hooks* nil + (setf *before-gc-hooks* nil *after-gc-hooks* nil *gc-inhibit* 1 *need-to-collect-garbage* nil @@ -113,13 +112,14 @@ (show-and-call !random-cold-init) (show-and-call !package-cold-init) - + ;; All sorts of things need INFO and/or (SETF INFO). (/show0 "about to SHOW-AND-CALL !GLOBALDB-COLD-INIT") (show-and-call !globaldb-cold-init) ;; This needs to be done early, but needs to be after INFO is ;; initialized. + (show-and-call !function-names-cold-init) (show-and-call !fdefn-cold-init) ;; Various toplevel forms call MAKE-ARRAY, which calls SUBTYPEP, so @@ -141,6 +141,8 @@ (show-and-call !policy-cold-init-or-resanify) (/show0 "back from !POLICY-COLD-INIT-OR-RESANIFY") + (show-and-call !early-proclaim-cold-init) + ;; KLUDGE: Why are fixups mixed up with toplevel forms? Couldn't ;; fixups be done separately? Wouldn't that be clearer and better? ;; -- WHN 19991204 @@ -201,6 +203,12 @@ ;; DEFTYPEs are. (setf *type-system-initialized* t) + ;; now that the type system is definitely initialized, fixup UNKNOWN + ;; types that have crept in. + (show-and-call !fixup-type-cold-init) + ;; run the PROCLAIMs. + (show-and-call !late-proclaim-cold-init) + (show-and-call os-cold-init-or-reinit) (show-and-call stream-cold-init-or-reset) @@ -281,6 +289,7 @@ instead (which is another name for the same thing).")) ;; disabled by default. Joe User can explicitly enable them if ;; desired. (set-floating-point-modes :traps '(:overflow :invalid :divide-by-zero)) + (sb!thread::maybe-install-futex-functions) ;; Clear pseudo atomic in case this core wasn't compiled with ;; support.