0.8.6.14:
[sbcl.git] / src / compiler / generic / genesis.lisp
index ed46288..485d71b 100644 (file)
     (frob internal-error)
     (frob sb!kernel::control-stack-exhausted-error)
     (frob sb!di::handle-breakpoint)
-    (frob sb!di::handle-fun-end-breakpoint))
+    (frob sb!di::handle-fun-end-breakpoint)
+    (frob sb!thread::handle-thread-exit))
 
   (cold-set '*current-catch-block*          (make-fixnum-descriptor 0))
   (cold-set '*current-unwind-protect-block* (make-fixnum-descriptor 0))
   (let* ((len (read-arg 4))
         (sizebits (read-arg 1))
         (type (case sizebits
+                (0 sb!vm:simple-array-nil-widetag)
                 (1 sb!vm:simple-bit-vector-widetag)
                 (2 sb!vm:simple-array-unsigned-byte-2-widetag)
                 (4 sb!vm:simple-array-unsigned-byte-4-widetag)
+                (7 (prog1 sb!vm:simple-array-unsigned-byte-7-widetag
+                     (setf sizebits 8)))
                 (8 sb!vm:simple-array-unsigned-byte-8-widetag)
+                (15 (prog1 sb!vm:simple-array-unsigned-byte-15-widetag
+                      (setf sizebits 16)))
                 (16 sb!vm:simple-array-unsigned-byte-16-widetag)
+                (31 (prog1 sb!vm:simple-array-unsigned-byte-31-widetag
+                      (setf sizebits 32)))
                 (32 sb!vm:simple-array-unsigned-byte-32-widetag)
                 (t (error "losing element size: ~W" sizebits))))
         (result (allocate-vector-object *dynamic* sizebits len type))