1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-03 02:36:19 +02:00
guile/module/system
Andy Wingo 8d59d55e86 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.
2013-10-14 16:13:57 +02:00
..
base compile-file adds #:to-disk? #t to opts 2013-08-24 15:27:57 +02:00
repl ,xx for RTL images 2013-08-29 20:50:19 +02:00
vm RTL: Compile prompts 2013-10-14 16:13:57 +02:00
foreign.scm Merge remote-tracking branch 'origin/stable-2.0' 2013-02-18 17:59:38 +01:00
xref.scm system xref maintains source mapping for nested procedures too 2010-09-24 13:24:48 +02:00