X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fcold-init.lisp;h=844423447f8e844bff1d7e38240a681e3c5b9665;hb=ba12c5c0420f28250ef4931b47af92c6d7963195;hp=5252ea36c523bf269af17e4727c71cb53edb5fd8;hpb=3d87bae55ccdbab2c9ed117b8399013adfd8bbf2;p=sbcl.git diff --git a/src/code/cold-init.lisp b/src/code/cold-init.lisp index 5252ea3..8444234 100644 --- a/src/code/cold-init.lisp +++ b/src/code/cold-init.lisp @@ -93,10 +93,12 @@ ;; *TYPE-SYSTEM-INITIALIZED-WHEN-BOUND* so that it doesn't need to ;; be explicitly set in order to be meaningful. (setf *after-gc-hooks* nil + *in-without-gcing* nil *gc-inhibit* t *gc-pending* nil #!+sb-thread *stop-for-gc-pending* #!+sb-thread nil *allow-with-interrupts* t + sb!unix::*unblock-deferrables-on-enabling-interrupts-p* nil *interrupts-enabled* t *interrupt-pending* nil *break-on-signals* nil @@ -109,7 +111,7 @@ ;; I'm not sure where eval is first called, so I put this first. (show-and-call !eval-cold-init) - + (show-and-call !deadline-cold-init) (show-and-call thread-init-or-reinit) (show-and-call !typecheckfuns-cold-init) @@ -197,15 +199,10 @@ (setf (svref *!load-time-values* (third toplevel-thing)) (funcall (second toplevel-thing)))) (:load-time-value-fixup - (setf (sap-ref-word (second toplevel-thing) 0) + (setf (sap-ref-word (int-sap (get-lisp-obj-address (second toplevel-thing))) + (third toplevel-thing)) (get-lisp-obj-address - (svref *!load-time-values* (third toplevel-thing))))) - #!+(and x86 gencgc) - (:load-time-code-fixup - (sb!vm::!envector-load-time-code-fixup (second toplevel-thing) - (third toplevel-thing) - (fourth toplevel-thing) - (fifth toplevel-thing))) + (svref *!load-time-values* (fourth toplevel-thing))))) (t (!cold-lose "bogus fixup code in *!REVERSED-COLD-TOPLEVELS*")))) (t (!cold-lose "bogus function in *!REVERSED-COLD-TOPLEVELS*"))))) @@ -226,6 +223,8 @@ (show-and-call !late-proclaim-cold-init) (show-and-call os-cold-init-or-reinit) + (show-and-call !pathname-cold-init) + (show-and-call !debug-info-cold-init) (show-and-call stream-cold-init-or-reset) (show-and-call !loader-cold-init) @@ -263,7 +262,7 @@ #!+hpux (sb!sys:%primitive sb!vm::setup-return-from-lisp-stub) ;; The system is finally ready for GC. (/show0 "enabling GC") - (gc-on) + (setq *gc-inhibit* nil) (/show0 "doing first GC") (gc :full t) (/show0 "back from first GC") @@ -277,7 +276,7 @@ (defun quit (&key recklessly-p (unix-status 0)) #!+sb-doc - "Terminate the current Lisp. *EXIT-HOOKS* are pending unwind-protect + "Terminate the current Lisp. *EXIT-HOOKS* and pending unwind-protect cleanup forms are run unless RECKLESSLY-P is true. On UNIX-like systems, UNIX-STATUS is used as the status code." (declare (type (signed-byte 32) unix-status))