Commit 46abff6
authored
Harden CALL specialization guards and cache callables (#7360)
* vm: align CALL/CALL_KW specialization core guards with CPython
* vm: keep specialization hot on misses and add heaptype getitem parity
* vm: align call-alloc/getitem cache guards and call fastpath ordering
* vm: align BINARY_OP, STORE_SUBSCR, UNPACK_SEQUENCE specialization guards
* vm: finalize unicode/subscr specialization parity and regressions
* vm: finalize specialization GC safety, tests, and cleanup1 parent 45d8129 commit 46abff6
File tree
19 files changed
+1252
-581
lines changed- crates
- derive-impl/src
- vm/src
- builtins
- function
- object
- stdlib
- sys
- types
- vm
- extra_tests/snippets
19 files changed
+1252
-581
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1021 | 1021 | | |
1022 | 1022 | | |
1023 | 1023 | | |
1024 | | - | |
| 1024 | + | |
1025 | 1025 | | |
1026 | 1026 | | |
1027 | 1027 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
529 | 529 | | |
530 | 530 | | |
531 | 531 | | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
532 | 536 | | |
533 | 537 | | |
534 | 538 | | |
| |||
636 | 640 | | |
637 | 641 | | |
638 | 642 | | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
639 | 653 | | |
640 | | - | |
| 654 | + | |
641 | 655 | | |
642 | 656 | | |
643 | 657 | | |
644 | 658 | | |
645 | | - | |
646 | | - | |
647 | | - | |
648 | | - | |
649 | | - | |
650 | | - | |
651 | | - | |
| 659 | + | |
| 660 | + | |
652 | 661 | | |
653 | 662 | | |
654 | 663 | | |
655 | 664 | | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
656 | 692 | | |
657 | 693 | | |
658 | | - | |
| 694 | + | |
659 | 695 | | |
660 | 696 | | |
661 | 697 | | |
662 | 698 | | |
663 | 699 | | |
664 | | - | |
665 | | - | |
666 | | - | |
667 | | - | |
668 | | - | |
669 | | - | |
670 | | - | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
671 | 706 | | |
672 | 707 | | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
673 | 724 | | |
674 | 725 | | |
675 | | - | |
| 726 | + | |
676 | 727 | | |
677 | 728 | | |
678 | 729 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
286 | 286 | | |
287 | 287 | | |
288 | 288 | | |
289 | | - | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
290 | 299 | | |
291 | 300 | | |
292 | 301 | | |
| |||
509 | 518 | | |
510 | 519 | | |
511 | 520 | | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
512 | 528 | | |
513 | 529 | | |
514 | 530 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | 67 | | |
81 | 68 | | |
82 | 69 | | |
| |||
109 | 96 | | |
110 | 97 | | |
111 | 98 | | |
112 | | - | |
| 99 | + | |
113 | 100 | | |
114 | 101 | | |
115 | 102 | | |
116 | 103 | | |
117 | 104 | | |
118 | 105 | | |
119 | 106 | | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
120 | 122 | | |
121 | 123 | | |
122 | 124 | | |
| |||
561 | 563 | | |
562 | 564 | | |
563 | 565 | | |
564 | | - | |
| 566 | + | |
565 | 567 | | |
| 568 | + | |
566 | 569 | | |
567 | 570 | | |
568 | 571 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1500 | 1500 | | |
1501 | 1501 | | |
1502 | 1502 | | |
1503 | | - | |
1504 | 1503 | | |
1505 | 1504 | | |
1506 | 1505 | | |
1507 | 1506 | | |
1508 | 1507 | | |
1509 | 1508 | | |
1510 | | - | |
| 1509 | + | |
| 1510 | + | |
| 1511 | + | |
| 1512 | + | |
| 1513 | + | |
| 1514 | + | |
| 1515 | + | |
| 1516 | + | |
| 1517 | + | |
| 1518 | + | |
| 1519 | + | |
| 1520 | + | |
| 1521 | + | |
1511 | 1522 | | |
1512 | 1523 | | |
1513 | 1524 | | |
| |||
1678 | 1689 | | |
1679 | 1690 | | |
1680 | 1691 | | |
1681 | | - | |
| 1692 | + | |
| 1693 | + | |
| 1694 | + | |
| 1695 | + | |
| 1696 | + | |
| 1697 | + | |
1682 | 1698 | | |
1683 | 1699 | | |
1684 | 1700 | | |
1685 | 1701 | | |
1686 | 1702 | | |
1687 | | - | |
| 1703 | + | |
| 1704 | + | |
| 1705 | + | |
| 1706 | + | |
| 1707 | + | |
| 1708 | + | |
1688 | 1709 | | |
1689 | 1710 | | |
1690 | 1711 | | |
| |||
0 commit comments