1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-16 16:50:21 +02:00

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.
This commit is contained in:
Andy Wingo 2009-05-20 13:33:44 +02:00
parent 5af166bda2
commit c11f46afe1
3 changed files with 14 additions and 4 deletions

View file

@ -53,6 +53,8 @@
not
pair? null? list? acons cons cons*
list vector
car cdr
set-car! set-cdr!