compile `list' and `vector' to their associated opcodes
authorAndy Wingo <wingo@pobox.com>
Wed, 20 May 2009 11:33:44 +0000 (13:33 +0200)
committerAndy Wingo <wingo@pobox.com>
Wed, 20 May 2009 11:33:44 +0000 (13:33 +0200)
commitc11f46afe113f50e34af33ad3055b3da66e4b71f
tree63e514a7a7cb8fbdf18004e6803efa30b5f350ff
parent5af166bda2f1d89525add147a9e3d2d6867d03a5
compile `list' and `vector' to their associated opcodes

* module/language/glil/compile-assembly.scm (glil->assembly): Check the
  length when emitting calls to variable-argument stack instructions.
  Allow two-byte lengths -- allows e.g. calls to `list' with more than
  256 arguments.

* module/language/tree-il/compile-glil.scm: Add primcall associations for
  `list' and `vector', with any number of arguments. Necessary because
  syncase's quasiquote expansions will produce calls to `list' with many
  arguments.

* module/language/tree-il/optimize.scm (*interesting-primitive-names*):
  Add `list' and `vector' to the set of primitives to resolve.
module/language/glil/compile-assembly.scm
module/language/tree-il/compile-glil.scm
module/language/tree-il/optimize.scm