1.0.24.48: Do explicit sign-extension of small signed alien return values
[sbcl.git] / src / code / cold-init.lisp
index ef011a2..2b26328 100644 (file)
   ;; forms run.
   (show-and-call !type-class-cold-init)
   (show-and-call !typedefs-cold-init)
+  (show-and-call !world-lock-cold-init)
   (show-and-call !classes-cold-init)
   (show-and-call !early-type-cold-init)
   (show-and-call !late-type-cold-init)
   ;; The reader and printer are initialized very late, so that they
   ;; can do hairy things like invoking the compiler as part of their
   ;; initialization.
-  (show-and-call !reader-cold-init)
-  (let ((*readtable* *standard-readtable*))
+  (let ((*readtable* (make-readtable)))
+    (show-and-call !reader-cold-init)
     (show-and-call !sharpm-cold-init)
-    (show-and-call !backq-cold-init))
+    (show-and-call !backq-cold-init)
+    ;; The *STANDARD-READTABLE* is assigned at last because the above
+    ;; functions would operate on the standard readtable otherwise---
+    ;; which would result in an error.
+    (setf *standard-readtable* *readtable*))
   (setf *readtable* (copy-readtable *standard-readtable*))
   (setf sb!debug:*debug-readtable* (copy-readtable *standard-readtable*))
   (sb!pretty:!pprint-cold-init)
   (/show0 "done initializing, setting *COLD-INIT-COMPLETE-P*")
   (setf *cold-init-complete-p* t)
 
+  ; hppa heap is segmented, lisp and c uses a stub to call eachother
+  #!+hpux (sb!sys:%primitive sb!vm::setup-return-from-lisp-stub)
   ;; The system is finally ready for GC.
   (/show0 "enabling GC")
   (gc-on)