X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fcold-init.lisp;h=d8c11605347dea9d2c21e6d678a4833ebcaa46a9;hb=95591ed483dbb8c0846c129953acac1554f28809;hp=2b26328f01315f7e0b9a5a810266421c09893939;hpb=26987375eb9dae6e9b15084e317a04a6509dd05f;p=sbcl.git diff --git a/src/code/cold-init.lisp b/src/code/cold-init.lisp index 2b26328..d8c1160 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 @@ -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 (or x86 x86-64) 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))