mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-24 04:15:36 +02:00
src and meta are fields of $kentry, not $fun
* module/language/cps.scm ($kentry, $fun): Attach "src" and "meta" on the $kentry, not the $fun. This prepares us for $callk to $kentry continuations that have no corresponding $fun. * module/language/cps/arities.scm: * module/language/cps/closure-conversion.scm: * module/language/cps/compile-bytecode.scm: * module/language/cps/constructors.scm: * module/language/cps/contification.scm: * module/language/cps/cse.scm: * module/language/cps/dce.scm: * module/language/cps/dfg.scm: * module/language/cps/elide-values.scm: * module/language/cps/prune-bailouts.scm: * module/language/cps/prune-top-level-scopes.scm: * module/language/cps/reify-primitives.scm: * module/language/cps/renumber.scm: * module/language/cps/self-references.scm: * module/language/cps/simplify.scm: * module/language/cps/slot-allocation.scm: * module/language/cps/specialize-primcalls.scm: * module/language/cps/verify.scm: * module/language/tree-il/compile-cps.scm: Adapt.
This commit is contained in:
parent
1e91d95704
commit
24b611e81c
21 changed files with 160 additions and 154 deletions
|
@ -34,7 +34,8 @@
|
|||
|
||||
(define (fix-clause-arities clause dfg)
|
||||
(let ((ktail (match clause
|
||||
(($ $cont _ ($ $kentry _ ($ $cont ktail) _)) ktail))))
|
||||
(($ $cont _
|
||||
($ $kentry src meta _ ($ $cont ktail) _)) ktail))))
|
||||
(define (visit-term term)
|
||||
(rewrite-cps-term term
|
||||
(($ $letk conts body)
|
||||
|
@ -181,13 +182,13 @@
|
|||
,cont)))
|
||||
|
||||
(rewrite-cps-cont clause
|
||||
(($ $cont sym ($ $kentry self tail clause))
|
||||
(sym ($kentry self ,tail ,(and clause (visit-cont clause))))))))
|
||||
(($ $cont sym ($ $kentry src meta self tail clause))
|
||||
(sym ($kentry src meta self ,tail ,(and clause (visit-cont clause))))))))
|
||||
|
||||
(define (fix-arities* fun dfg)
|
||||
(rewrite-cps-exp fun
|
||||
(($ $fun src meta free body)
|
||||
($fun src meta free ,(fix-clause-arities body dfg)))))
|
||||
(($ $fun free body)
|
||||
($fun free ,(fix-clause-arities body dfg)))))
|
||||
|
||||
(define (fix-arities fun)
|
||||
(let ((dfg (compute-dfg fun)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue