about summary refs log tree commit diff stats
path: root/html/subx/057write.subx.html
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2019-03-26 20:41:22 -0700
committerKartik Agaram <vc@akkartik.com>2019-03-26 22:20:15 -0700
commit104bd6555dcca42afb96e97585d007231a27daf3 (patch)
tree40c748b907cf0e0a1e21d70fb407864cf7c62e22 /html/subx/057write.subx.html
parent800fb25a8ff5c3eea783865915e03cd1d4b39d4c (diff)
downloadmu-104bd6555dcca42afb96e97585d007231a27daf3.tar.gz
5023
Several bugs found after performing multiple loops through convert-data.

This has been a general pattern: given how unsafe the x86 'language' is,
the regular amount of testing with a single input doesn't really give sufficient
confidence. Ever-present is the possibility that I forgot to pop something
from the stack, either a spilled register or a local. Calling functions
multiple times seems to help detect such bugs. So far I've been doing this
extra level of testing implicitly when I build the next higher abstraction.
But with `convert-data` the buck stopped, and much painful debugging ensued.

One thing that would help is if `write` on streams didn't remain silent
on overflow. But we actually need that sometimes, when streams are used
as buffers.
Diffstat (limited to 'html/subx/057write.subx.html')
0 files changed, 0 insertions, 0 deletions
id=3a1e1f28fa847df5021b37d4c81eb4dfa01f5a8e'>3a1e1f28 ^
2c5ea01d ^
3a1e1f28 ^
b0a216f5 ^
2c5ea01d ^
b0a216f5 ^



3a1e1f28 ^
b0a216f5 ^


b06433bc ^
2c5ea01d ^
b0a216f5 ^

2c5ea01d ^
2c5ea01d ^
2c5ea01d ^
582f3519 ^
b06433bc ^
582f3519 ^

94c5d83e ^
dee6cfa6 ^
e9e4b4ff ^
b0a216f5 ^


e9e4b4ff ^





ad75190c ^
e9e4b4ff ^
e9e4b4ff ^
25a4162d ^
e9e4b4ff ^
fde932f2 ^
85fd5288 ^
4ade06a6 ^

85fd5288 ^
0c2c782d ^

636d9393 ^
b0a216f5 ^
b06433bc ^
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