1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-30 06:50:31 +02:00
guile/module
Andy Wingo 9b29d60791 loop detection in the house
* libguile/vm-i-scheme.c (vector-ref, vector-set): Sync registers if we
  call out to C.

* module/language/tree-il/compile-glil.scm (flatten-lambda): Add an
  extra argument, the self-label, which should be the gensym under which
  the procedure is bound in a <fix> expression.
  (flatten): If we see a call to a lexical ref to the self-label in a
  tail position, rename and goto instead of goto/args, which will tear
  down the frame -- or will, in the future. It's a primitive form of
  loop detection.

* module/language/tree-il/primitives.scm (zero?): Expand to (= x 0).
2009-08-06 17:46:38 +02:00
..
ice-9 fix gensym creation in psyntax 2009-07-24 12:06:19 +02:00
language loop detection in the house 2009-08-06 17:46:38 +02:00
oop Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
rnrs Complete changing license to LGPLv3+ 2009-06-17 22:30:26 +01:00
scripts Add `(system base message)', a simple warning framework. 2009-07-31 00:49:22 +02:00
srfi actually inline call-with-values to tree-il's <let-values> 2009-08-06 11:48:16 +02:00
system let-values in terms of syntax-case, add make-tree-il-folder 2009-08-05 21:35:30 +02:00
Makefile.am actually implement "fixing letrec" 2009-08-06 16:01:24 +02:00