Commit 10bf29b
committed
Fix untracked registers in stackmaps.
This commit fixes yet another bug in stackmaps that leads to registers being
untracked. The bug went unnoticed until the recent entryblock change exposed it.
The fix consists of two changes, allowing spill mappings to be applied
transitively and replacing killed registers in the stackmap with non-killed
registers holding the same value. See comments for more detail.1 parent 7873e69 commit 10bf29b
2 files changed
+37
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
305 | 305 | | |
306 | 306 | | |
307 | 307 | | |
| 308 | + | |
308 | 309 | | |
309 | | - | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
310 | 324 | | |
311 | 325 | | |
312 | 326 | | |
| |||
333 | 347 | | |
334 | 348 | | |
335 | 349 | | |
336 | | - | |
| 350 | + | |
337 | 351 | | |
338 | | - | |
| 352 | + | |
339 | 353 | | |
340 | 354 | | |
341 | 355 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | | - | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
69 | 83 | | |
70 | 84 | | |
71 | 85 | | |
| |||
99 | 113 | | |
100 | 114 | | |
101 | 115 | | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
102 | 121 | | |
103 | 122 | | |
104 | 123 | | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | 124 | | |
110 | 125 | | |
111 | 126 | | |
| |||
0 commit comments