1.0.7.25: better MEMBER transform
commit1ac7e7c95d8badd4ff01d676dffece6b710cea13
authorNikodemus Siivola <nikodemus@random-state.net>
Tue, 17 Jul 2007 13:18:06 +0000 (17 13:18 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Tue, 17 Jul 2007 13:18:06 +0000 (17 13:18 +0000)
treeab944aa397ccffafefa423411ee2d0b473fb7c4f
parent76e5ccc7e653ffe279148bb8f3f6f5b7c4772a4e
1.0.7.25: better MEMBER transform

 * Specialized versions for different keyword combinations: %MEMBER,
   %MEMBER-TEST, %MEMBER-KEY-TEST, etc. These versions have positional
   arguments, and the callable arguments are known to be functions.

 * The transform open codes for all combinations of keywords if the
   second argument is constant and (>= SPEED SPACE). Otherwise the
   transform selects the appropriate specialized version and open
   codes %COERCE-CALLABLE-TO-FUN around keyword arguments, allowing
   type inference to optimize it away for arguments known to be
   functions.

 * Tests.
NEWS
package-data-list.lisp-expr
src/code/list.lisp
src/compiler/seqtran.lisp
tests/list.pure.lisp
version.lisp-expr