X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fcold-init.lisp;h=07af1593d2f992ce35a99fa72c63f5dc91841769;hb=935d6f6a696c2b0bff1c937cef346cb495e41999;hp=eb223cb1163e1444dca1e4c169fcf72d239eaefc;hpb=970dd272dc84f7420252eadb4829cc193f795716;p=sbcl.git diff --git a/src/code/cold-init.lisp b/src/code/cold-init.lisp index eb223cb..07af159 100644 --- a/src/code/cold-init.lisp +++ b/src/code/cold-init.lisp @@ -102,7 +102,8 @@ *maximum-error-depth* 10 *current-error-depth* 0 *cold-init-complete-p* nil - *type-system-initialized* nil) + *type-system-initialized* nil + sb!vm:*alloc-signal* nil) ;; I'm not sure where eval is first called, so I put this first. #!+sb-eval @@ -228,14 +229,7 @@ (/show0 "enabling internal errors") (setf (sb!alien:extern-alien "internal_errors_enabled" boolean) t) - ;; FIXME: This list of modes should be defined in one place and - ;; explicitly shared between here and REINIT. - - ;; 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 float-cold-init-or-reinit) (show-and-call !class-finalize) @@ -297,22 +291,13 @@ UNIX-like systems, UNIX-STATUS is used as the status code." (os-cold-init-or-reinit) (thread-init-or-reinit) (stream-reinit) - #!-win32 (signal-cold-init-or-reinit) + #!-win32 + (signal-cold-init-or-reinit) (setf (sb!alien:extern-alien "internal_errors_enabled" boolean) t) - ;; PRINT seems not to like x86 NPX denormal floats like - ;; LEAST-NEGATIVE-SINGLE-FLOAT, so the :UNDERFLOW exceptions are - ;; disabled by default. Joe User can explicitly enable them if - ;; desired. - ;; - ;; see also comment at the previous SET-FLOATING-POINT-MODES - ;; call site. - (set-floating-point-modes - :traps '(:overflow #!-netbsd :invalid :divide-by-zero)))) + (float-cold-init-or-reinit))) (gc-reinit) - ;; make sure TIME works correctly from saved cores - (setf *internal-real-time-base-seconds* nil) - (setf *gc-run-time* 0) (foreign-reinit) + (time-reinit) ;; If the debugger was disabled in the saved core, we need to ;; re-disable ldb again. (when (eq *invoke-debugger-hook* 'sb!debug::debugger-disabled-hook)