resolve-primitives tweaks
authorAndy Wingo <wingo@pobox.com>
Thu, 17 Jun 2010 11:31:03 +0000 (13:31 +0200)
committerAndy Wingo <wingo@pobox.com>
Thu, 17 Jun 2010 11:43:26 +0000 (13:43 +0200)
commit9b3cc6596542da2c0a34de6381b1a22df0e8fa21
tree3b04e692d62f25766bf8f89da3dfbf83f95c2a3f
parent0f2b9f6252ac27ce4d48e5319992d9c44525ebc2
resolve-primitives tweaks

* module/ice-9/boot-9.scm (make-struct/no-tail): Define a version of
  this function. Because during optimization we resolve make-struct to
  make-struct/no-tail, we need an implemented make-struct/no-tail if we
  are to be able to run scheme made from tree-il->scheme.

* module/language/tree-il/compile-glil.scm (*primcall-ops*): Remove
  variable-set case, as there is no "variable-set!" primitive.
  (flatten): Add a special hack for variable-set!. Ugly, I know.

* module/language/tree-il/primitives.scm (*effect-free-primitives*): Add
  make-struct/no-tail.
  (*effect+exception-free-primitives*): Remove make-struct, as it could
  raise an exception.
  (variable-set!): Remove expansion to variable-set.
module/ice-9/boot-9.scm
module/language/tree-il/compile-glil.scm
module/language/tree-il/primitives.scm