Commit 40a43f3
authored
instruction improvements (#6829)
New Features
Direct small-integer loading (0–255) and locals-loading for faster execution
Async-generator wrapping and improved generator resume behavior
Performance
Faster integer loads and streamlined jump/loop handling for better runtime performance
Bug Fixes
More robust StopIteration handling and stricter init return checks
Corrected iterator cleanup for async and sync loops
Improvements
Aligns loop and jump semantics with CPython 3.14 patterns1 parent aed3a60 commit 40a43f3
File tree
13 files changed
+433
-253
lines changed- Lib
- test
- test_import
- crates
- codegen/src
- snapshots
- compiler-core/src/bytecode
- jit/src
- stdlib/src
- vm/src
13 files changed
+433
-253
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
135 | 135 | | |
136 | 136 | | |
137 | 137 | | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
144 | 144 | | |
145 | 145 | | |
146 | 146 | | |
| |||
234 | 234 | | |
235 | 235 | | |
236 | 236 | | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
242 | | - | |
243 | | - | |
244 | | - | |
245 | | - | |
246 | | - | |
247 | | - | |
248 | | - | |
249 | | - | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
250 | 252 | | |
251 | 253 | | |
252 | 254 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | | - | |
87 | 86 | | |
88 | 87 | | |
89 | 88 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2185 | 2185 | | |
2186 | 2186 | | |
2187 | 2187 | | |
| 2188 | + | |
2188 | 2189 | | |
2189 | 2190 | | |
2190 | 2191 | | |
2191 | 2192 | | |
2192 | 2193 | | |
2193 | 2194 | | |
| 2195 | + | |
2194 | 2196 | | |
2195 | 2197 | | |
2196 | 2198 | | |
2197 | 2199 | | |
2198 | 2200 | | |
2199 | 2201 | | |
| 2202 | + | |
2200 | 2203 | | |
2201 | 2204 | | |
2202 | 2205 | | |
2203 | 2206 | | |
2204 | 2207 | | |
2205 | 2208 | | |
| 2209 | + | |
2206 | 2210 | | |
2207 | 2211 | | |
2208 | 2212 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1385 | 1385 | | |
1386 | 1386 | | |
1387 | 1387 | | |
1388 | | - | |
| 1388 | + | |
1389 | 1389 | | |
1390 | 1390 | | |
1391 | 1391 | | |
| |||
1455 | 1455 | | |
1456 | 1456 | | |
1457 | 1457 | | |
1458 | | - | |
| 1458 | + | |
1459 | 1459 | | |
1460 | 1460 | | |
1461 | 1461 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1136 | 1136 | | |
1137 | 1137 | | |
1138 | 1138 | | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
1139 | 1146 | | |
1140 | 1147 | | |
1141 | 1148 | | |
| |||
1371 | 1378 | | |
1372 | 1379 | | |
1373 | 1380 | | |
1374 | | - | |
| 1381 | + | |
1375 | 1382 | | |
1376 | 1383 | | |
1377 | 1384 | | |
| |||
3623 | 3630 | | |
3624 | 3631 | | |
3625 | 3632 | | |
| 3633 | + | |
3626 | 3634 | | |
3627 | 3635 | | |
3628 | 3636 | | |
| |||
4348 | 4356 | | |
4349 | 4357 | | |
4350 | 4358 | | |
4351 | | - | |
4352 | | - | |
4353 | | - | |
4354 | | - | |
| 4359 | + | |
4355 | 4360 | | |
4356 | 4361 | | |
4357 | 4362 | | |
| |||
4978 | 4983 | | |
4979 | 4984 | | |
4980 | 4985 | | |
4981 | | - | |
4982 | | - | |
| 4986 | + | |
| 4987 | + | |
| 4988 | + | |
| 4989 | + | |
4983 | 4990 | | |
4984 | 4991 | | |
4985 | 4992 | | |
| |||
6527 | 6534 | | |
6528 | 6535 | | |
6529 | 6536 | | |
6530 | | - | |
6531 | | - | |
| 6537 | + | |
| 6538 | + | |
| 6539 | + | |
| 6540 | + | |
| 6541 | + | |
6532 | 6542 | | |
6533 | 6543 | | |
6534 | 6544 | | |
| |||
7424 | 7434 | | |
7425 | 7435 | | |
7426 | 7436 | | |
7427 | | - | |
| 7437 | + | |
| 7438 | + | |
| 7439 | + | |
7428 | 7440 | | |
7429 | 7441 | | |
7430 | 7442 | | |
| |||
7621 | 7633 | | |
7622 | 7634 | | |
7623 | 7635 | | |
| 7636 | + | |
| 7637 | + | |
| 7638 | + | |
| 7639 | + | |
| 7640 | + | |
| 7641 | + | |
7624 | 7642 | | |
7625 | | - | |
7626 | | - | |
7627 | 7643 | | |
7628 | 7644 | | |
7629 | 7645 | | |
| |||
7741 | 7757 | | |
7742 | 7758 | | |
7743 | 7759 | | |
| 7760 | + | |
| 7761 | + | |
| 7762 | + | |
| 7763 | + | |
| 7764 | + | |
| 7765 | + | |
| 7766 | + | |
| 7767 | + | |
| 7768 | + | |
| 7769 | + | |
| 7770 | + | |
| 7771 | + | |
7744 | 7772 | | |
7745 | 7773 | | |
7746 | 7774 | | |
| |||
7924 | 7952 | | |
7925 | 7953 | | |
7926 | 7954 | | |
7927 | | - | |
| 7955 | + | |
7928 | 7956 | | |
7929 | 7957 | | |
7930 | 7958 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
270 | 270 | | |
271 | 271 | | |
272 | 272 | | |
273 | | - | |
274 | | - | |
| 273 | + | |
| 274 | + | |
275 | 275 | | |
276 | | - | |
277 | | - | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
278 | 279 | | |
279 | 280 | | |
280 | 281 | | |
281 | | - | |
| 282 | + | |
282 | 283 | | |
283 | 284 | | |
284 | 285 | | |
| |||
335 | 336 | | |
336 | 337 | | |
337 | 338 | | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
338 | 347 | | |
339 | 348 | | |
340 | 349 | | |
| |||
468 | 477 | | |
469 | 478 | | |
470 | 479 | | |
471 | | - | |
| 480 | + | |
472 | 481 | | |
473 | 482 | | |
474 | 483 | | |
| |||
493 | 502 | | |
494 | 503 | | |
495 | 504 | | |
496 | | - | |
| 505 | + | |
497 | 506 | | |
498 | 507 | | |
499 | 508 | | |
| |||
0 commit comments