Commit 2b835c6
committed
Ensure guarded_gotos is cleared after converting each function
This would previously still contain guarded GOTOs that had already been
optimised by e.g. translating if(cond) GOTO 2; GOTO 1; 2: into
if(!cond) GOTO 1; SKIP; 2:. This was harmless as the SKIP instructions
were SKIP'd again, and the precise wording of the transformation happened
to be idempotent. However, the forthcoming lazy loading patchset can
remove those SKIPs between loading one function and another, and so
guarded_gotos would contain dangling instruction iterators.
Thus this simply avoids some wasted time and memory for now, but also
enables future work.1 parent 98017ce commit 2b835c6
1 file changed
+9
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
290 | 290 | | |
291 | 291 | | |
292 | 292 | | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
293 | 299 | | |
294 | 300 | | |
295 | 301 | | |
| |||
301 | 307 | | |
302 | 308 | | |
303 | 309 | | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
304 | 313 | | |
305 | 314 | | |
306 | 315 | | |
| |||
0 commit comments