0.8.7.52:
[sbcl.git] / src / code / cold-init.lisp
index acf20fb..bc37148 100644 (file)
@@ -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
   (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
   ;; 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)
@@ -282,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.