* Thunks, which did not allocate, now do not cause a heap-overflow
check. Reduces code size by around 30k.
This commit is contained in:
parent
ff9439d3c1
commit
d6a0ffa3ea
BIN
lib/ikarus.boot
BIN
lib/ikarus.boot
Binary file not shown.
|
@ -1618,10 +1618,11 @@
|
||||||
(make-primcall 'void '()))
|
(make-primcall 'void '()))
|
||||||
body)]))
|
body)]))
|
||||||
(define (closure-size x)
|
(define (closure-size x)
|
||||||
#|FIXME: closures with free vars should not alloc|#
|
|
||||||
(record-case x
|
(record-case x
|
||||||
[(closure code free*)
|
[(closure code free*)
|
||||||
(align (fx+ disp-closure-data (fx* (length free*) wordsize)))]
|
(if (null? free*)
|
||||||
|
0
|
||||||
|
(align (fx+ disp-closure-data (fx* (length free*) wordsize))))]
|
||||||
[else (error 'closure-size "~s is not a closure" x)]))
|
[else (error 'closure-size "~s is not a closure" x)]))
|
||||||
(define (sum ac ls)
|
(define (sum ac ls)
|
||||||
(cond
|
(cond
|
||||||
|
|
Loading…
Reference in New Issue