Commit d97ab8e
Axel Kern
Fix regression in OS VM files
The 2.5.7 source code archive contained outdated VM files of Memory.vm and Sys.vm. The official software suite 2.6 zip archive already contained an updated version of the OS VM files. The source code archive on the nand2tetris website was however never updated accordingly.
The OS update addressed the following issues:
1. Sys.error included a call to String.new which could cause itself a runtime error via Memory.alloc, resulting in recursive calls to Sys.error and ultimately crashing with a stack overflow.
2. Memory.vm contains now a better allocation algorithm with defragmentation of adjacent blocks1 parent 52d5666 commit d97ab8e
2 files changed
+118
-22
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
| 40 | + | |
41 | 41 | | |
42 | | - | |
| 42 | + | |
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
51 | 60 | | |
52 | 61 | | |
53 | 62 | | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
54 | 66 | | |
55 | 67 | | |
56 | 68 | | |
57 | 69 | | |
58 | 70 | | |
59 | 71 | | |
60 | 72 | | |
| 73 | + | |
61 | 74 | | |
62 | 75 | | |
63 | 76 | | |
64 | 77 | | |
65 | 78 | | |
66 | 79 | | |
67 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
68 | 105 | | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
69 | 166 | | |
70 | 167 | | |
71 | 168 | | |
72 | 169 | | |
73 | 170 | | |
74 | 171 | | |
75 | 172 | | |
76 | | - | |
77 | | - | |
78 | | - | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
79 | 176 | | |
80 | 177 | | |
81 | 178 | | |
82 | | - | |
| 179 | + | |
83 | 180 | | |
84 | 181 | | |
85 | 182 | | |
| |||
89 | 186 | | |
90 | 187 | | |
91 | 188 | | |
92 | | - | |
93 | | - | |
94 | | - | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
95 | 192 | | |
96 | 193 | | |
97 | 194 | | |
| |||
119 | 216 | | |
120 | 217 | | |
121 | 218 | | |
122 | | - | |
123 | | - | |
124 | | - | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
125 | 222 | | |
126 | 223 | | |
127 | 224 | | |
| |||
136 | 233 | | |
137 | 234 | | |
138 | 235 | | |
139 | | - | |
140 | | - | |
| 236 | + | |
| 237 | + | |
141 | 238 | | |
142 | 239 | | |
143 | 240 | | |
| |||
152 | 249 | | |
153 | 250 | | |
154 | 251 | | |
155 | | - | |
| 252 | + | |
156 | 253 | | |
157 | 254 | | |
158 | 255 | | |
| |||
165 | 262 | | |
166 | 263 | | |
167 | 264 | | |
168 | | - | |
| 265 | + | |
169 | 266 | | |
170 | 267 | | |
171 | 268 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | | - | |
69 | | - | |
70 | 68 | | |
71 | | - | |
| 69 | + | |
| 70 | + | |
72 | 71 | | |
73 | | - | |
| 72 | + | |
| 73 | + | |
74 | 74 | | |
75 | | - | |
76 | | - | |
| 75 | + | |
77 | 76 | | |
78 | 77 | | |
79 | 78 | | |
| |||
0 commit comments