Change the way callable arguments are asserted.
commit1d1d136cc50d0820886087aa2327321844dde7fb
authorStas Boukarev <stassats@gmail.com>
Thu, 16 Nov 2017 23:50:56 +0000 (17 02:50 +0300)
committerStas Boukarev <stassats@gmail.com>
Fri, 17 Nov 2017 21:26:14 +0000 (18 00:26 +0300)
tree13fbae8edacb35f207ede71cbfc017951a8bcfb7
parent03bfb34b4ba773f55d0bb16f066a1ba8cc755664
Change the way callable arguments are asserted.

Instead of doing it once at VALIDATE-FUN-USE time annotate the
callable argumenst with FUNCTION-DESIGNATOR-CAST, saving the argument
LVARs and updating them when they are substituted.
17 files changed:
build-order.lisp-expr
src/code/full-eval.lisp
src/code/late-type.lisp
src/compiler/callable-args.lisp [new file with mode: 0644]
src/compiler/ctype.lisp
src/compiler/fndb.lisp
src/compiler/ir1-translators.lisp
src/compiler/ir1final.lisp
src/compiler/ir1opt.lisp
src/compiler/ir1util.lisp
src/compiler/ir2tran.lisp
src/compiler/ltn.lisp
src/compiler/macros.lisp
src/compiler/node.lisp
src/compiler/seqtran.lisp
src/interpreter/checkfuns.lisp
tests/compiler-2.pure.lisp