ikarus/BUGS

89 lines
1.7 KiB
Plaintext
Raw Normal View History

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:
2007-08-28 15:37:51 -04:00
* fxsra does not work for large numbers
2007-08-28 17:45:54 -04:00
* Ensure immutable exports
2007-08-28 15:37:51 -04:00
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.