mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-23 20:05:32 +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:
parent
de5c81b1d1
commit
ad55ee83c3
26 changed files with 145 additions and 148 deletions
|
@ -614,6 +614,9 @@ the LABELS that are clobbered by the effects of LABEL."
|
|||
;; what nonlocal predecessors of the handler do, so we
|
||||
;; conservatively assume &all-effects.
|
||||
&all-effects)
|
||||
(($ $kargs names syms ($ $throw))
|
||||
;; A reachable "throw" term can never be elided.
|
||||
&all-effects)
|
||||
(($ $kreceive arity kargs)
|
||||
(match arity
|
||||
(($ $arity _ () #f () #f) &type-check)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue