Fix VOPs on EQL-typed arguments and closures.
commit5b4dae02596a5d6a6c5db9fed2de089d1bd5481f
authorStas Boukarev <stassats@gmail.com>
Fri, 10 Jul 2015 19:38:33 +0000 (10 22:38 +0300)
committerStas Boukarev <stassats@gmail.com>
Fri, 10 Jul 2015 19:38:33 +0000 (10 22:38 +0300)
tree6ccd960b1782e3afdb61f33bb6b4620ab9bec833
parent835e31796a0bd92468481d4255fb446b20fa5bd7
Fix VOPs on EQL-typed arguments and closures.

When VOPs treated EQL-typed arguments as constants the possibly
allocated closures for those variables became unused, causing
problems. Stop treating them as constants. In most of the cases those
variables already have registers allocated, and it's often cheaper to
use registers than encoding constants.

Fixes lp#1390149.
NEWS
src/compiler/ir1opt.lisp
src/compiler/ltn.lisp
tests/compiler.pure.lisp