1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-03 13:20:26 +02:00
guile/module
Andy Wingo b3ae2b5068 Add VM and compiler support for calls to known procedures
* module/language/cps.scm ($callk): New expression type, for calls to
  known labels.  Part of "low CPS".
* module/language/cps/arities.scm:
* module/language/cps/closure-conversion.scm:
* module/language/cps/compile-bytecode.scm:
* module/language/cps/dce.scm:
* module/language/cps/dfg.scm:
* module/language/cps/effects-analysis.scm:
* module/language/cps/simplify.scm:
* module/language/cps/slot-allocation.scm:
* module/language/cps/verify.scm: Adapt call sites.

* libguile/vm-engine.c (call-label, tail-call-label): New instructions.
  Renumber the rest; this is an ABI change.

* libguile/_scm.h (SCM_OBJCODE_MINOR_VERSION):
* module/system/vm/assembler.scm (*bytecode-minor-version*): Bump.

* doc/ref/compiler.texi (CPS in Guile): Document $callk.
2014-02-02 23:19:22 +01:00
..
ice-9 Minor for-each speedup 2014-01-28 22:28:08 +01:00
language Add VM and compiler support for calls to known procedures 2014-02-02 23:19:22 +01:00
oop Remove GOOPS-internal @slot-ref and @slot-set! 2013-11-30 18:46:14 +01:00
rnrs Merge commit '8571dbde63' 2013-11-28 15:00:17 +01:00
scripts Rename "RTL" to "bytecode" 2013-12-02 21:31:47 +01:00
srfi Merge branch 'stable-2.0' 2014-01-14 03:18:34 -05:00
sxml Remove duplicate definitions of call/ec' and let/ec'. 2013-04-06 15:40:19 +02:00
system Add VM and compiler support for calls to known procedures 2014-02-02 23:19:22 +01:00
texinfo texinfo plain-text: Use match' for stexi->plain-text'. 2013-03-22 22:09:05 +01:00
web Merge branch 'stable-2.0' 2014-01-21 03:57:04 -05:00
Makefile.am Add simplification pass 2014-01-11 16:01:18 +01:00
rnrs.scm Add missing R6RS `open-file-input/output-port' procedure 2012-11-12 20:47:57 +01:00
statprof.scm VM accessors take VM as implicit argument, not explicit argument 2013-11-21 16:10:41 +01:00
texinfo.scm texinfo: Recognize `@:'. 2013-03-21 18:52:29 +01:00