0.8.12.32: Fix the performance degradation in DEFCLASS caused
[sbcl.git] / src / code / cold-init.lisp
index a360161..9757734 100644 (file)
   ;; this to be initialized, so we initialize it right away.
   (show-and-call !random-cold-init)
 
+  (show-and-call !early-package-cold-init)
   (show-and-call !package-cold-init)
   
   ;; All sorts of things need INFO and/or (SETF INFO).
   ;; FIXME: This list of modes should be defined in one place and
   ;; explicitly shared between here and REINIT.
 
-  ;; Why was this marked #!+alpha?  CMUCL does it here on all architectures
-  (set-floating-point-modes :traps '(:overflow :invalid :divide-by-zero))
+  ;; FIXME: For some unknown reason, NetBSD/x86 won't run with the
+  ;; :invalid trap enabled. That should be fixed, but not today...
+  ;; PEM -- April 5, 2004
+  (set-floating-point-modes
+   :traps '(:overflow #!-netbsd :invalid :divide-by-zero))
 
   (show-and-call !class-finalize)
 
@@ -288,18 +292,12 @@ instead (which is another name for the same thing)."))
       ;; LEAST-NEGATIVE-SINGLE-FLOAT, so the :UNDERFLOW exceptions are
       ;; 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.
       ;;
-      ;; FIXME: In SBCL our cores are always compiled with support. So
-      ;; we don't need to do this, do we? At least not for this
-      ;; reason.. (Perhaps we should do it anyway in case someone
-      ;; manages to save an image from within a pseudo-atomic-atomic
-      ;; operation?)
-      #!+x86 (setf *pseudo-atomic-atomic* 0)))
+      ;; see also comment at the previous SET-FLOATING-POINT-MODES
+      ;; call site.
+      (set-floating-point-modes
+       :traps '(:overflow #!-netbsd :invalid :divide-by-zero))
+      (sb!thread::maybe-install-futex-functions)))
   (gc-on)
   (gc))
 \f