had to find a new way to defeat the inlining
svn: r6413
This commit is contained in:
parent
9123e74cfe
commit
377c5b3ad0
|
@ -49,13 +49,17 @@ which are then called when the contract's fields are explored
|
||||||
clause)]))]))]
|
clause)]))]))]
|
||||||
[all-ac-ids (generate-temporaries field-names)]
|
[all-ac-ids (generate-temporaries field-names)]
|
||||||
[defeat-inlining
|
[defeat-inlining
|
||||||
;; makes the procedure "big enough" so
|
;; makes the procedure confusing enough so that
|
||||||
;; that inlining doesn't consider it.
|
;; inlining doesn't consider it. this makes the
|
||||||
|
;; call to procedure-closure-contents-eq? work
|
||||||
|
;; properly
|
||||||
(λ (e)
|
(λ (e)
|
||||||
(let loop ([i 30])
|
(let loop ([n 20])
|
||||||
(cond
|
(if (zero? n)
|
||||||
[(zero? i) e]
|
e
|
||||||
[else #`(values #,(loop (- i 1)))])))])
|
#`(if (zero? (random 1))
|
||||||
|
#,(loop (- n 1))
|
||||||
|
(/ 1 0)))))])
|
||||||
(let loop ([clauses (syntax->list clauses)]
|
(let loop ([clauses (syntax->list clauses)]
|
||||||
[ac-ids all-ac-ids]
|
[ac-ids all-ac-ids]
|
||||||
[prior-ac-ids '()]
|
[prior-ac-ids '()]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user