Make type caches perform better.
commitc12b72591adbf77d62762de23bd557dd946cc536
authorDouglas Katzman <dougk@google.com>
Fri, 6 Feb 2015 04:03:48 +0000 (5 23:03 -0500)
committerDouglas Katzman <dougk@google.com>
Fri, 6 Feb 2015 04:03:48 +0000 (5 23:03 -0500)
treeec617db1287a493365e57c8e64f1e6e8180a8df5
parent24131aa0f49788ceffe824692d5e34b59e84dd8c
Make type caches perform better.

This change "interns" a chosen few parsed type specifiers,
importantly (CONS T T), NULL, and BOOLEAN, so that exactly one
of each exists, thereby reducing TYPE= to EQ in the affirmative
case. In addition to producing less garbage, the compiler
runs 3% to 4% faster on several files from its own sources.
NEWS
src/code/early-type.lisp
src/code/late-type.lisp
src/code/primordial-type.lisp
src/code/xset.lisp
src/compiler/node.lisp
tests/compiler.pure.lisp
tests/type.impure.lisp