These are the other-immediate types. We specify them including all low eight
bits, including the other-immediate tag, so we can think of the type bits as
one type – not an other-immediate major type and a subtype. Also, fetching a
byte and comparing it against a constant is more efficient than wasting even a
small amount of time shifting out the other-immediate tag to compare against a
five bit constant. (The current values can be obtained from the
generated internals.h file.)
HEX
Number (< 36)
bignum 10 0A
ratio 14 0E
single-float 18 12
double-float 22 16
double-double-float 26 1A
complex 30 1E
(complex single-float) 34 22
(complex double-float) 38 26
(complex double-double-float) 42 2A
Array (<= 46 code 118)
Simple-Array (<= 46 code 118)
simple-array 46 2E
Vector (<= 50 code 118)
simple-string 50 32
simple-bit-vector 54 36
simple-vector 58 3A
(simple-array (unsigned-byte 2) (*)) 62 3E
(simple-array (unsigned-byte 4) (*)) 66 42
(simple-array (unsigned-byte 8) (*)) 70 46
(simple-array (unsigned-byte 16) (*)) 74 4A
(simple-array (unsigned-byte 32) (*)) 78 4E
(simple-array (signed-byte 8) (*)) 82 52
(simple-array (signed-byte 16) (*)) 86 56
(simple-array (signed-byte 30) (*)) 90 5A
(simple-array (signed-byte 32) (*)) 94 5E
(simple-array single-float (*)) 98 62
(simple-array double-float (*)) 102 66
(simple-array double-double-float (*)) 106 6A
(simple-array (complex single-float) (*) 110 6E
(simple-array (complex double-float) (*) 114 72
(simple-array (complex double-double) (*) 118 76
complex-string 122 7A
complex-bit-vector 126 7E
(array * (*)) -- general complex vector. 130 82
complex-array 134 86
code-header-type 138 8A
function-header-type 142 8E
closure-header-type 146 92
funcallable-instance-header-type 150 96
byte-code-function-header-type 154 9A
byte-code-closure-header-type 158 9E
closure-function-header-type 162 A2
return-pc-header-type (a.k.a LRA) 166 A6
value-cell-header-type 170 AA
symbol-header-type 174 AE
base-character-type 178 B2
system-area-pointer-type (header type) 182 B6
unbound-marker 186 BA
weak-pointer-type 190 BE
instance-header-type 194 C2
fdefn-type 198 C6
scavenger-hook-type 202 CA