1.0.28.20: further array typechecking optimization
authorNikodemus Siivola <nikodemus@random-state.net>
Wed, 6 May 2009 18:35:41 +0000 (18:35 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Wed, 6 May 2009 18:35:41 +0000 (18:35 +0000)
commit3266b5df27fb88e04b16fed47e65f1f394ff7674
tree9433119cbd98bd2a9dc22265686d990ca0ef7e12
parent7306e23c5a4687bef98fdfb3459aaf15fe79d5ca
1.0.28.20: further array typechecking optimization

 * Eliminate extra lowtag checking from the array element type check:
   since we know we are dealing with an array, we can use the same
   fast widetag extraction code that array type dispatching used --
   factoring it out into %OTHER-POINTER-WIDETAG.

 * If we know after checking the dimensions that the array must have
   a header, and we know that the array is simple, we can deduce that
   there is exactly one level of indirection.

 * Similarly, if we know that the array has a header, we can
   immediately pull out the data vector to check if it too has a
   header instead of doing an extra test.
NEWS
version.lisp-expr