0.8.0.78.vector-nil-string.8:
authorChristophe Rhodes <csr21@cam.ac.uk>
Wed, 25 Jun 2003 08:28:23 +0000 (08:28 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Wed, 25 Jun 2003 08:28:23 +0000 (08:28 +0000)
commitcd1f265dd851941557ed3f764248c339c07493a9
tree004e16e2ce7b71ffb3e3c05bba711a3bde3f1fe4
parent9767de1cecfe50560fe1da69fd458b6148a66da3
0.8.0.78.vector-nil-string.8:
Some more OAOOification from *SAETP*
... add a COMPLEX-TYPECODE field to *SAETP* to allow us to carry
the information that SIMPLE-BIT-VECTOR and
COMPLEX-BIT-VECTOR are both bit vectors.
... use *SAETP* in %VECTOR-WIDETAG-AND-N-BITS,
ARRAY-ELEMENT-TYPE and SHRINK-VECTOR (net win so far: 6)
... we might need a FIXNUM type earlier than CLASS.  I've got
one in, but then I found a refactor that might mean we
don't need it.  The problem is in SPECIALIZE-ARRAY-TYPE,
where obviously we need to have complete knowledge about
all the possible upgraded-array-element-types so that
we can ask whether a given type is SUBTYPEP.  FIXNUM
is defined as a type fairly late, but maybe defining it
before (simple-array (signed-byte 30) (*)) is enough,
when combined with...
Refactor PRIMITIVE-TYPEs
... we only ever use the specifier, not the ctype, of
PRIMITIVE-TYPE-TYPE, so...
... delete the TYPE field and add a SPECIFIER field.
... add AVERrance in SPECIALIZE-ARRAY-TYPE.
12 files changed:
package-data-list.lisp-expr
src/code/array.lisp
src/code/class.lisp
src/code/deftypes-for-target.lisp
src/code/seq.lisp
src/compiler/fixup-type.lisp
src/compiler/generic/vm-array.lisp
src/compiler/generic/vm-type.lisp
src/compiler/meta-vmdef.lisp
src/compiler/vmdef.lisp
src/compiler/vop.lisp
version.lisp-expr