1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-17 01:00:20 +02:00

$throw is a new kind of CPS term

* module/language/cps.scm ($throw): New term type that doesn't have a
  continuation.  Adapt all callers.  Remove now-unneeded
  "prune-bailouts" pass.
This commit is contained in:
Andy Wingo 2018-01-03 18:25:42 +01:00
parent de5c81b1d1
commit ad55ee83c3
26 changed files with 145 additions and 148 deletions

View file

@ -122,7 +122,9 @@ corresponding var from REPLACEMENTS; otherwise return VAR."
(($ $branch kf kt src op param args)
($branch kf kt src op param ,(rename* args)))
(($ $prompt k kh src escape? tag)
($prompt k kh src escape? (rename tag)))))
($prompt k kh src escape? (rename tag)))
(($ $throw src op param args)
($throw src op param ,(rename* args)))))
(define (attach-trampoline cps label src names vars args)
(with-cps cps
(letk ktramp-out ,(make-trampoline join-label src args))