Commit 99ba3c4
committed
ZJIT: Spill whole FrameState in
Previously, we only spilled the arguments necessary for the particular
send. In case the callee raises and a rescue resumes the ISEQ, that
did not present a complete stack state. E.g. in `[1, (raise rescue 2)]`
the raise send only spills `self`, when `1` also needs to be spilled.
Spill the whole stack. Adjust parsing for `opt_aref_with` since the
key argument for the send now needs to be described by the frame state
of the send.
This changes the contract for `Insn::SendWithoutBlock` to use arguments
from the interpreter stack as described by its frame state.Insn::SendWithoutBlock
1 parent e3e8725 commit 99ba3c4
3 files changed
Lines changed: 60 additions & 33 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1886 | 1886 | | |
1887 | 1887 | | |
1888 | 1888 | | |
| 1889 | + | |
| 1890 | + | |
| 1891 | + | |
| 1892 | + | |
| 1893 | + | |
| 1894 | + | |
| 1895 | + | |
| 1896 | + | |
| 1897 | + | |
| 1898 | + | |
| 1899 | + | |
1889 | 1900 | | |
1890 | 1901 | | |
1891 | 1902 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
353 | 353 | | |
354 | 354 | | |
355 | 355 | | |
356 | | - | |
| 356 | + | |
357 | 357 | | |
358 | | - | |
359 | | - | |
| 358 | + | |
| 359 | + | |
360 | 360 | | |
361 | 361 | | |
362 | 362 | | |
| |||
847 | 847 | | |
848 | 848 | | |
849 | 849 | | |
850 | | - | |
851 | | - | |
852 | 850 | | |
853 | | - | |
854 | | - | |
855 | | - | |
856 | | - | |
857 | | - | |
858 | | - | |
859 | | - | |
860 | | - | |
861 | | - | |
862 | | - | |
863 | | - | |
864 | | - | |
865 | | - | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
866 | 855 | | |
867 | 856 | | |
868 | 857 | | |
869 | | - | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
870 | 863 | | |
871 | 864 | | |
872 | 865 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
812 | 812 | | |
813 | 813 | | |
814 | 814 | | |
815 | | - | |
| 815 | + | |
816 | 816 | | |
817 | 817 | | |
818 | 818 | | |
| |||
2503 | 2503 | | |
2504 | 2504 | | |
2505 | 2505 | | |
2506 | | - | |
2507 | | - | |
2508 | | - | |
2509 | | - | |
2510 | | - | |
| 2506 | + | |
| 2507 | + | |
| 2508 | + | |
| 2509 | + | |
2511 | 2510 | | |
2512 | 2511 | | |
2513 | 2512 | | |
| |||
2614 | 2613 | | |
2615 | 2614 | | |
2616 | 2615 | | |
| 2616 | + | |
| 2617 | + | |
| 2618 | + | |
| 2619 | + | |
| 2620 | + | |
| 2621 | + | |
| 2622 | + | |
| 2623 | + | |
| 2624 | + | |
2617 | 2625 | | |
2618 | 2626 | | |
2619 | | - | |
| 2627 | + | |
2620 | 2628 | | |
2621 | | - | |
2622 | | - | |
| 2629 | + | |
| 2630 | + | |
| 2631 | + | |
2623 | 2632 | | |
2624 | | - | |
| 2633 | + | |
2625 | 2634 | | |
2626 | 2635 | | |
2627 | 2636 | | |
| |||
3180 | 3189 | | |
3181 | 3190 | | |
3182 | 3191 | | |
| 3192 | + | |
| 3193 | + | |
| 3194 | + | |
3183 | 3195 | | |
3184 | | - | |
3185 | | - | |
| 3196 | + | |
3186 | 3197 | | |
3187 | 3198 | | |
3188 | 3199 | | |
| |||
3903 | 3914 | | |
3904 | 3915 | | |
3905 | 3916 | | |
| 3917 | + | |
| 3918 | + | |
| 3919 | + | |
| 3920 | + | |
| 3921 | + | |
| 3922 | + | |
3906 | 3923 | | |
3907 | 3924 | | |
3908 | 3925 | | |
| |||
5068 | 5085 | | |
5069 | 5086 | | |
5070 | 5087 | | |
5071 | | - | |
| 5088 | + | |
| 5089 | + | |
| 5090 | + | |
| 5091 | + | |
| 5092 | + | |
5072 | 5093 | | |
5073 | 5094 | | |
5074 | | - | |
| 5095 | + | |
| 5096 | + | |
| 5097 | + | |
5075 | 5098 | | |
5076 | 5099 | | |
5077 | 5100 | | |
| |||
0 commit comments