Commit 618b726
authored
* Replaces ad-hoc logic for ending traces with a simple inequality: `fitness < exit_quality`
* Fitness starts high and is reduced for branches, backward edges, calls and trace length
* Exit quality reflect how good a spot that instruction is to end a trace. Closing a loop is very, specializable instructions are very low and the others in between.
1 parent 448d7b9 commit 618b726
10 files changed
Lines changed: 204 additions & 44 deletions
File tree
- Include
- cpython
- internal
- Lib/test/test_capi
- Modules/_testinternalcapi
- Python
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
144 | 144 | | |
145 | 145 | | |
146 | 146 | | |
| 147 | + | |
147 | 148 | | |
148 | 149 | | |
149 | 150 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
449 | 449 | | |
450 | 450 | | |
451 | 451 | | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
452 | 455 | | |
453 | 456 | | |
454 | 457 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
18 | 62 | | |
19 | 63 | | |
20 | 64 | | |
| |||
103 | 147 | | |
104 | 148 | | |
105 | 149 | | |
106 | | - | |
| 150 | + | |
| 151 | + | |
107 | 152 | | |
108 | 153 | | |
109 | 154 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1427 | 1427 | | |
1428 | 1428 | | |
1429 | 1429 | | |
| 1430 | + | |
| 1431 | + | |
1430 | 1432 | | |
1431 | | - | |
1432 | | - | |
| 1433 | + | |
| 1434 | + | |
| 1435 | + | |
| 1436 | + | |
1433 | 1437 | | |
1434 | 1438 | | |
1435 | 1439 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3529 | 3529 | | |
3530 | 3530 | | |
3531 | 3531 | | |
3532 | | - | |
| 3532 | + | |
3533 | 3533 | | |
3534 | 3534 | | |
3535 | 3535 | | |
| |||
6541 | 6541 | | |
6542 | 6542 | | |
6543 | 6543 | | |
6544 | | - | |
| 6544 | + | |
| 6545 | + | |
| 6546 | + | |
| 6547 | + | |
6545 | 6548 | | |
6546 | 6549 | | |
6547 | 6550 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments