Commit 5b5b5b3
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 8c24e66 commit 5b5b5b3
3 files changed
Lines changed: 61 additions & 33 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1902 | 1902 | | |
1903 | 1903 | | |
1904 | 1904 | | |
| 1905 | + | |
| 1906 | + | |
| 1907 | + | |
| 1908 | + | |
| 1909 | + | |
| 1910 | + | |
| 1911 | + | |
| 1912 | + | |
| 1913 | + | |
| 1914 | + | |
| 1915 | + | |
1905 | 1916 | | |
1906 | 1917 | | |
1907 | 1918 | | |
| |||
| 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 | | |
| |||
859 | 859 | | |
860 | 860 | | |
861 | 861 | | |
862 | | - | |
863 | | - | |
864 | 862 | | |
865 | | - | |
866 | | - | |
867 | | - | |
868 | | - | |
869 | | - | |
870 | | - | |
871 | | - | |
872 | | - | |
873 | | - | |
874 | | - | |
875 | | - | |
876 | | - | |
877 | | - | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
878 | 867 | | |
879 | 868 | | |
880 | 869 | | |
881 | | - | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
882 | 875 | | |
883 | 876 | | |
884 | 877 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
818 | 818 | | |
819 | 819 | | |
820 | 820 | | |
821 | | - | |
| 821 | + | |
822 | 822 | | |
823 | 823 | | |
824 | 824 | | |
| |||
2513 | 2513 | | |
2514 | 2514 | | |
2515 | 2515 | | |
2516 | | - | |
2517 | | - | |
2518 | | - | |
2519 | | - | |
2520 | | - | |
| 2516 | + | |
| 2517 | + | |
| 2518 | + | |
| 2519 | + | |
2521 | 2520 | | |
2522 | 2521 | | |
2523 | 2522 | | |
| |||
2624 | 2623 | | |
2625 | 2624 | | |
2626 | 2625 | | |
| 2626 | + | |
| 2627 | + | |
| 2628 | + | |
| 2629 | + | |
| 2630 | + | |
| 2631 | + | |
| 2632 | + | |
| 2633 | + | |
| 2634 | + | |
2627 | 2635 | | |
2628 | 2636 | | |
2629 | | - | |
| 2637 | + | |
2630 | 2638 | | |
2631 | | - | |
2632 | | - | |
| 2639 | + | |
| 2640 | + | |
| 2641 | + | |
2633 | 2642 | | |
2634 | | - | |
| 2643 | + | |
2635 | 2644 | | |
2636 | 2645 | | |
2637 | 2646 | | |
| |||
3195 | 3204 | | |
3196 | 3205 | | |
3197 | 3206 | | |
| 3207 | + | |
| 3208 | + | |
| 3209 | + | |
3198 | 3210 | | |
3199 | | - | |
3200 | | - | |
| 3211 | + | |
3201 | 3212 | | |
3202 | 3213 | | |
3203 | 3214 | | |
| |||
3920 | 3931 | | |
3921 | 3932 | | |
3922 | 3933 | | |
| 3934 | + | |
| 3935 | + | |
| 3936 | + | |
| 3937 | + | |
| 3938 | + | |
| 3939 | + | |
3923 | 3940 | | |
3924 | 3941 | | |
3925 | 3942 | | |
| |||
5154 | 5171 | | |
5155 | 5172 | | |
5156 | 5173 | | |
5157 | | - | |
| 5174 | + | |
| 5175 | + | |
| 5176 | + | |
| 5177 | + | |
| 5178 | + | |
5158 | 5179 | | |
5159 | 5180 | | |
5160 | | - | |
| 5181 | + | |
| 5182 | + | |
| 5183 | + | |
5161 | 5184 | | |
| 5185 | + | |
5162 | 5186 | | |
5163 | 5187 | | |
5164 | 5188 | | |
| |||
0 commit comments