mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-01 04:10:18 +02:00
peval: Rectify style.
* module/language/tree-il/optimize.scm (peval): Rename `src' to `lv-src', and `src2' to `src'; pass `make-let-values' the right source locations. Reindent `let*'.
This commit is contained in:
parent
d851e32fdc
commit
ec6e09bee7
1 changed files with 7 additions and 7 deletions
|
@ -465,19 +465,19 @@ it does not handle <fix> and <let-values>, it should be called before
|
|||
(if (const? body*)
|
||||
body
|
||||
(make-fix src names gensyms vals body))))
|
||||
(($ <let-values> src producer
|
||||
($ <lambda-case> src2 req #f #f #f () gensyms body #f))
|
||||
(($ <let-values> lv-src producer
|
||||
($ <lambda-case> src req #f #f #f () gensyms body #f))
|
||||
;; Peval both producer and consumer, then try to inline. If
|
||||
;; that succeeds, peval again.
|
||||
(let* ((producer (maybe-unconst producer (loop producer env calls)))
|
||||
(body (maybe-unconst body (loop body env calls))))
|
||||
(body (maybe-unconst body (loop body env calls))))
|
||||
(cond
|
||||
((inline-values producer src2 req gensyms body)
|
||||
((inline-values producer src req gensyms body)
|
||||
=> (lambda (exp) (loop exp env calls)))
|
||||
(else
|
||||
(make-let-values
|
||||
src producer
|
||||
(make-lambda-case src2 req #f #f #f '() gensyms body #f))))))
|
||||
(make-let-values lv-src producer
|
||||
(make-lambda-case src req #f #f #f '()
|
||||
gensyms body #f))))))
|
||||
(($ <let-values>)
|
||||
exp)
|
||||
(($ <dynwind> src winder body unwinder)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue