-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathBUGS
88 lines (53 loc) · 1.72 KB
/
BUGS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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.