Remove redundant type checks from sequence function entry points.
commit8aa70a25c874872c68634fc98b0a9b0c67643dcb
authorDouglas Katzman <dougk@google.com>
Fri, 8 Jul 2016 23:54:23 +0000 (8 19:54 -0400)
committerDouglas Katzman <dougk@google.com>
Fri, 8 Jul 2016 23:54:23 +0000 (8 19:54 -0400)
treee353eaeac7ada7f09a48c87f6484390e206de681
parent540ce7f42c58a1a9ec9842289626c90074315857
Remove redundant type checks from sequence function entry  points.

- check for EXTENDED-SEQUENCE in the final case of SEQ-DISPATCH-CHECKING
  rather than SEQUENCE, since list and vector were already ruled out.

- extend EXPLICIT-CHECK attribute to allow specifying that a subset of
  lambda variables will be checked by code in the function body, and
  use it to specify that sequence arguments will be explicitly checked.
src/code/seq.lisp
src/compiler/ctype.lisp
src/compiler/ir1tran-lambda.lisp
src/compiler/ir1tran.lisp
src/compiler/seqtran.lisp