1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-06 04:00:26 +02:00
guile/module/language/tree-il
Andy Wingo 0f423f20aa fix apply and call/cc in drop contexts
* module/language/tree-il/compile-glil.scm (flatten): Actually apply only
  needs one arg after the proc. And shit, call/cc and apply in drop
  contexts also need to be able to return arbitrary numbers of values;
  work it by trampolining through their applicative (non-@) definitions.
  Also, simplify the single-valued drop case to avoid the
  truncate-values.

* module/language/tree-il/inline.scm (call/cc):
* module/language/tree-il/optimize.scm (*interesting-primitive-names*):
  Define call/cc as "interesting". Perhaps we should be hashing on value
  and not on variable.

* test-suite/tests/tree-il.test ("application"): Fix up test for new,
  sleeker output. (Actually the GLIL is more verbose, but the assembly is
  better.)
  ("apply", "call/cc"): Add some more tests.
2009-05-21 21:13:24 +02:00
..
analyze.scm don't allocate too many locals for expansions of `or' 2009-05-20 12:46:23 +02:00
compile-glil.scm fix apply and call/cc in drop contexts 2009-05-21 21:13:24 +02:00
inline.scm fix apply and call/cc in drop contexts 2009-05-21 21:13:24 +02:00
optimize.scm fix apply and call/cc in drop contexts 2009-05-21 21:13:24 +02:00
spec.scm more work on tree-il compilation 2009-05-08 12:56:18 +02:00