diff options
author | Andy Wingo <wingo@igalia.com> | 2013-10-14 16:13:57 +0200 |
---|---|---|
committer | Andy Wingo <wingo@igalia.com> | 2013-10-14 16:13:57 +0200 |
commit | 8d59d55e866666a4ed3b9695638265be62b20af0 (patch) | |
tree | 3e1cbb7f192f89096cc9ca0414c946bf65baef95 /libguile/vm-i-system.c | |
parent | 82f4bac420db15b3d41313f1f0213ea34a443d60 (diff) | |
download | guile-8d59d55e866666a4ed3b9695638265be62b20af0.tar.gz |
RTL: Compile prompts
* libguile/vm-engine.c (prompt): Adapt to explicitly set the saved SP so
we know how many incoming values the handler will receive, and to make
escape-only? a flag.
* module/language/cps/compile-rtl.scm (emit-rtl-sequence): $prompt
should only be found in a "seq" context, as it just pushes on a prompt
and doesn't bind any values. On the other hand it should emit
appropriate code for the handler to bind its values, so do that.
* module/language/cps/slot-allocation.scm ($cont-allocation): Add a note
that proc-slot is used by prompts as well.
(allocate-slots): Compute the allocation of a prompt handler's args.
* module/language/tree-il/compile-cps.scm (convert): Use "unwind"
instead of the nonexistent "pop-prompt".
* module/system/vm/disassembler.scm (code-annotation): Adapt to change
in prompt VM op.
Diffstat (limited to 'libguile/vm-i-system.c')
0 files changed, 0 insertions, 0 deletions