Commit 13cb918
authored
Group locals by written type in binary writer (#8568)
We have logic to group locals by type in the binary writer to take
advantage of the run-length encoding of locals. But that logic
previously grouped locals by their IR types, rather than the types that
would actually be written to the binary. These can differ in when the IR
uses more precise types than are allowed to be written given the enabled
feature set. For example, the IR might use exact types but have to write
inexact types because custom descriptors are not enabled. In such cases,
it is possible that different groups of locals would be written with the
same type, which is suboptimal. Fix the problem by grouping locals by
their written types given the enabled features.
Fixes #7934.1 parent c64410a commit 13cb918
2 files changed
+19
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
150 | 150 | | |
151 | 151 | | |
152 | 152 | | |
| 153 | + | |
153 | 154 | | |
154 | 155 | | |
155 | 156 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3245 | 3245 | | |
3246 | 3246 | | |
3247 | 3247 | | |
3248 | | - | |
| 3248 | + | |
3249 | 3249 | | |
3250 | 3250 | | |
3251 | 3251 | | |
| |||
3261 | 3261 | | |
3262 | 3262 | | |
3263 | 3263 | | |
3264 | | - | |
| 3264 | + | |
3265 | 3265 | | |
3266 | | - | |
| 3266 | + | |
3267 | 3267 | | |
3268 | 3268 | | |
3269 | 3269 | | |
3270 | 3270 | | |
3271 | 3271 | | |
| 3272 | + | |
| 3273 | + | |
| 3274 | + | |
| 3275 | + | |
| 3276 | + | |
| 3277 | + | |
3272 | 3278 | | |
3273 | 3279 | | |
3274 | 3280 | | |
3275 | 3281 | | |
3276 | 3282 | | |
3277 | 3283 | | |
3278 | 3284 | | |
| 3285 | + | |
| 3286 | + | |
| 3287 | + | |
| 3288 | + | |
| 3289 | + | |
| 3290 | + | |
| 3291 | + | |
| 3292 | + | |
| 3293 | + | |
3279 | 3294 | | |
3280 | 3295 | | |
3281 | 3296 | | |
| |||
0 commit comments