mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-14 08:17:35 +02:00
Only use Cyc-seq for non-CPSing arguments
This commit is contained in:
parent
8ba1954ac3
commit
37d510a41f
2 changed files with 15 additions and 2 deletions
|
@ -17,4 +17,10 @@
|
|||
r)))));; Then return r.
|
||||
|
||||
(write
|
||||
(get-set-root '()))
|
||||
(get-set-root '(
|
||||
(a . 1)
|
||||
(b . 2)
|
||||
(c . 3)
|
||||
(d . 4)
|
||||
(e . 5)
|
||||
)))
|
||||
|
|
|
@ -1477,7 +1477,14 @@
|
|||
(with-var
|
||||
(car (lambda-formals->list fn))
|
||||
(lambda (var)
|
||||
(zero? (adbv:ref-count var)))))
|
||||
(zero? (adbv:ref-count var))))
|
||||
;; Non-CPS args
|
||||
(every
|
||||
(lambda (x)
|
||||
(or (not (pair? x)) ;; Should never happen
|
||||
(and (prim-call? x)
|
||||
(not (prim:cont? (car x))))))
|
||||
args))
|
||||
`(Cyc-seq
|
||||
,@args
|
||||
,@(map cc (lambda->exp fn))))
|
||||
|
|
Loading…
Add table
Reference in a new issue