Chez Scheme: unbreak app rendering for expand/optimize
Also, fix some cp0 tests for interpret mode.
This commit is contained in:
parent
1e19e660c9
commit
b4a3c7d3da
|
@ -3141,10 +3141,12 @@
|
|||
'(#t #f)))
|
||||
|
||||
(or (not (enable-cp0))
|
||||
(eq? (current-eval) interpret)
|
||||
(procedure-known-single-valued? (lambda (f) (#3%$app/value f))))
|
||||
(or (not (enable-cp0))
|
||||
(not (procedure-known-single-valued? (lambda (f) (#2%$app/value f)))))
|
||||
(or (not (enable-cp0))
|
||||
(eq? (current-eval) interpret)
|
||||
(procedure-known-single-valued? (case-lambda
|
||||
[(f) (#3%$app/value f)]
|
||||
[(f g) (if (g)
|
||||
|
@ -3152,12 +3154,15 @@
|
|||
(#3%$app/value f))])))
|
||||
|
||||
(or (not (enable-cp0))
|
||||
(eq? (current-eval) interpret)
|
||||
(procedure-known-single-valued? (lambda () (abort 'x))))
|
||||
(or (not (enable-cp0))
|
||||
(eq? (current-eval) interpret)
|
||||
(procedure-known-single-valued? (lambda (f) (#3%$app/no-return f))))
|
||||
(or (not (enable-cp0))
|
||||
(not (procedure-known-single-valued? (lambda (f) (#2%$app/no-return f)))))
|
||||
(or (not (enable-cp0))
|
||||
(eq? (current-eval) interpret)
|
||||
(procedure-known-single-valued? (case-lambda
|
||||
[(f) (#3%$app/no-return f)]
|
||||
[(f g) (if (g)
|
||||
|
|
|
@ -168,17 +168,17 @@
|
|||
;; Note that we're losing explicit `#2%$app`s.
|
||||
(>= (optimize-level) 3)
|
||||
(enable-unsafe-application))
|
||||
(lambda (s) s)
|
||||
(lambda (s) `($primitive 3 ,s)))])
|
||||
(lambda (s a) (if s (cons s a) a))
|
||||
(lambda (s arg) (cons `($primitive 3 ,(or s '$app)) a)))])
|
||||
(cond
|
||||
[(preinfo-call-no-return? preinfo)
|
||||
(cons (prim '$app/no-return) a)]
|
||||
(prim '$app/no-return a)]
|
||||
[(preinfo-call-single-valued? preinfo)
|
||||
(cons (prim '$app/value) a)]
|
||||
(prim '$app/value a)]
|
||||
[(preinfo-call-can-inline? preinfo)
|
||||
(prim a)]
|
||||
(prim #f a)]
|
||||
[else
|
||||
(cons (prim '$app/no-inline) a)])))])))]
|
||||
(prim '$app/no-inline)])))])))]
|
||||
[,pr (let ([sym (primref-name pr)])
|
||||
(if sexpr?
|
||||
($sgetprop sym '*unprefixed* sym)
|
||||
|
|
Loading…
Reference in New Issue
Block a user