*
dd04bd449535e9016b5652a708a3cac2ca24c87d removes the specialized
array types with specific fixnum widths in favor of more generic
fixnum and unsigned-fixnum array types.
* In SYS:SRC;CODE;ROOM.LISP, a mistake was made in converting over
to the newer representations, involving an alist of type tag names
to a constant related to the size of array elements. The mistake
was even made inconsistently, so that neither 32-bit nor 64-bit
targets behaved correctly.
* Fixed, to use sb!vm:word-shift instead of literal constants.
* Original report and bisection by akovalenko on #sbcl.
(simple-array-unsigned-byte-16-widetag . 1)
(simple-array-unsigned-byte-31-widetag . 2)
(simple-array-unsigned-byte-32-widetag . 2)
- (simple-array-unsigned-fixnum-widetag . 3)
+ (simple-array-unsigned-fixnum-widetag . #.sb!vm:word-shift)
(simple-array-unsigned-byte-63-widetag . 3)
(simple-array-unsigned-byte-64-widetag . 3)
(simple-array-signed-byte-8-widetag . 0)
(simple-array-signed-byte-16-widetag . 1)
- (simple-array-fixnum-widetag . 2)
+ (simple-array-fixnum-widetag . #.sb!vm:word-shift)
(simple-array-signed-byte-32-widetag . 2)
(simple-array-signed-byte-64-widetag . 3)
(simple-array-single-float-widetag . 2)