1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 11:50:28 +02:00
guile/module/language/tree-il
Andy Wingo 9b3cc65965 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.
2010-06-17 13:43:26 +02:00
..
analyze.scm handler of a prompt is in tail context 2010-06-11 17:16:12 +02:00
compile-glil.scm resolve-primitives tweaks 2010-06-17 13:43:26 +02:00
fix-letrec.scm compiler support for letrec* 2010-06-17 13:43:26 +02:00
inline.scm add inliner cases for conditionals 2010-06-11 16:58:31 +02:00
optimize.scm compilation enviroments are always modules; simplifications & refactorings 2009-10-16 15:33:32 +02:00
primitives.scm resolve-primitives tweaks 2010-06-17 13:43:26 +02:00
spec.scm remove `version' field from <language> 2010-05-02 11:19:13 +02:00