before adding make-once thunks
This commit is contained in:
parent
6c30b75e57
commit
6b2e48efb7
BIN
lib/ikarus.boot
BIN
lib/ikarus.boot
Binary file not shown.
|
@ -1102,7 +1102,8 @@
|
|||
|
||||
|
||||
|
||||
|
||||
;(define thunk-count 0)
|
||||
;(define total-count 0)
|
||||
(define (convert-closures prog)
|
||||
(define who 'convert-closures)
|
||||
(define (Expr* x*)
|
||||
|
@ -1136,6 +1137,10 @@
|
|||
cls*)
|
||||
(union (difference body-free fml*)
|
||||
cls*-free)))])]))])
|
||||
;(set! total-count (fxadd1 total-count))
|
||||
;(when (null? free)
|
||||
; (set! thunk-count (fxadd1 thunk-count))
|
||||
; (printf "EMPTY CLOSURE ~s/~s\n" thunk-count total-count))
|
||||
(values (make-closure (make-clambda-code (gensym) cls* free) free)
|
||||
free))]))
|
||||
(define (Expr ex)
|
||||
|
@ -3623,7 +3628,9 @@
|
|||
(handle-cases (car cases) (cdr cases)))]))
|
||||
(record-case x
|
||||
[(codes list body)
|
||||
(cons (cons 0 (Tail body '()))
|
||||
(cons (list* 0
|
||||
(label (gensym))
|
||||
(Tail body '()))
|
||||
(map CodeExpr list))]))
|
||||
|
||||
|
||||
|
@ -3872,15 +3879,15 @@
|
|||
[p (insert-stack-overflow-checks p)]
|
||||
[p (insert-allocation-checks p)]
|
||||
[p (remove-local-variables p)]
|
||||
[p (optimize-ap-check p)]
|
||||
[ls* (generate-code p)]
|
||||
[f (when (assembler-output)
|
||||
(for-each
|
||||
(lambda (ls)
|
||||
(for-each (lambda (x) (printf " ~s\n" x)) ls))
|
||||
ls*))]
|
||||
[code* (list*->code* ls*)])
|
||||
(car code*)))
|
||||
[p (optimize-ap-check p)])
|
||||
(let ([ls* (generate-code p)])
|
||||
(when (assembler-output)
|
||||
(for-each
|
||||
(lambda (ls)
|
||||
(for-each (lambda (x) (printf " ~s\n" x)) ls))
|
||||
ls*))
|
||||
(let ([code* (list*->code* ls*)])
|
||||
(car code*)))))
|
||||
|
||||
(define compile-file
|
||||
(lambda (input-file output-file . rest)
|
||||
|
|
Loading…
Reference in New Issue