89 lines
1.7 KiB
Plaintext
89 lines
1.7 KiB
Plaintext
Performance Bugs:
|
|
|
|
Tail call optimization does not seem to always kick. In this
|
|
example, x which comes in (disp -4 %esp) is copied into
|
|
(disp -4 %esp) even though it was there to begin with.
|
|
|
|
> (lambda (x) (quotient x x))
|
|
|
|
---
|
|
(cmpl -4 %eax)
|
|
(jne (label L16))
|
|
(label L17)
|
|
(movl (disp -4 %esp) %edi)
|
|
(movl (disp -4 %esp) %eax)
|
|
(movl %edi %ebx)
|
|
(movl (disp (obj quotient) 7) %edi)
|
|
(movl %ebx (disp -4 %esp))
|
|
(movl %eax (disp -8 %esp))
|
|
(movl -8 %eax)
|
|
(jmp (disp -3 %edi))
|
|
(label L16)
|
|
(jmp (label SL_invalid_args))
|
|
(nop)
|
|
|
|
Other Bugs:
|
|
|
|
* fxsra does not work for large numbers
|
|
|
|
* Ensure immutable exports
|
|
|
|
|
|
Email Will Clinger regarding:
|
|
|
|
Larceny v0.93 "Deviated Prevert" (Nov 10 2006 04:27:45, precise:BSD
|
|
Unix:unified)
|
|
|
|
|
|
> (exact->inexact #xFFFFFFFFFFFFFFFF)
|
|
9.223372036854776e18
|
|
|
|
> #xFFFFFFFFFFFFFFFF
|
|
18446744073709551615
|
|
|
|
======================================================================
|
|
FIXED:
|
|
|
|
* pretty-print goes into infinite loop on cyclic data
|
|
|
|
* set! on global names is not working.
|
|
|
|
* (exact->inexact (/ (expt 2 3000) (- (expt 2 3000) 1)))
|
|
should return 1.0, not +nan.0.
|
|
|
|
* FIXED symbol calls are not checking for non-procedure.
|
|
|
|
|
|
* FIX: Error in generate-code: BUG: unhandles single rv.
|
|
|
|
|
|
|
|
|
|
|
|
Not applicable anymore:
|
|
|
|
* In libcompile.ss:
|
|
If you move the (initialize-system) call to the very bottom of the
|
|
library, the system crashes on startup.
|
|
|
|
|
|
|
|
|
|
|
|
Fixed:
|
|
|
|
* Investigate what happens when an interrupt occurs during a write.
|
|
|
|
> (define (f) (write (gensym)) (newline) (f))
|
|
> (f)
|
|
...
|
|
#{g17660 |adxhQB29QdSYPKBS|}
|
|
#{g17661 |ZaFfTMGRz!c17&zm|}
|
|
#{g17662 |>yF!AMbaIL$dTG>B|}#{g17662 |>yF!AMbaIL$dTG>B|}Error:
|
|
interrupted.
|
|
>
|
|
|
|
Two displays occurred at the end.
|
|
|
|
|