- (without-interrupts
- (without-gcing
- (os-cold-init-or-reinit)
- (stream-reinit)
- (signal-cold-init-or-reinit)
- (gc-cold-init-or-reinit)
- (setf (sb!alien:extern-alien "internal_errors_enabled" boolean) t)
- (set-floating-point-modes :traps
- ;; PRINT seems to not 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.
- '(:overflow #!-x86 :underflow :invalid
- :divide-by-zero))
- ;; 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 sb!impl::*pseudo-atomic-atomic* 0))
- (gc-on)))
+ #!+win32
+ (setf sb!win32::*ansi-codepage* nil)
+ (setf *default-external-format* nil)
+ (setf sb!alien::*default-c-string-external-format* nil)
+ ;; WITHOUT-GCING implies WITHOUT-INTERRUPTS.
+ (without-gcing
+ (os-cold-init-or-reinit)
+ (thread-init-or-reinit)
+ (stream-reinit t)
+ #!-win32
+ (signal-cold-init-or-reinit)
+ (setf (sb!alien:extern-alien "internal_errors_enabled" boolean) t)
+ (float-cold-init-or-reinit))
+ (gc-reinit)
+ (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)
+ (sb!debug::disable-debugger))
+ (call-hooks "initialization" *init-hooks*))