Commit 5e72ccf
committed
Avoid using TryFinallyWithYield OpCode when there is no Yield.
Implement partial tracking of Yield within ByteCodeGenerator to enable this.
The OpCode TryFinallyWithYield is not supported by the Jit. It was being used unnecessarily in various code patterns that should be safe to Jit, such patterns were hitting an Abort in the Jit because of the unimplemented OpCode.
As the OpCode is unnecessary when there is no Yield (the cases we currently try to jit) fix logic so we do not use it in those cases.1 parent c6a9549 commit 5e72ccf
File tree
5 files changed
+170
-18
lines changed- lib
- Backend
- Runtime/ByteCode
- test/es6GeneratorJit
5 files changed
+170
-18
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2605 | 2605 | | |
2606 | 2606 | | |
2607 | 2607 | | |
| 2608 | + | |
| 2609 | + | |
| 2610 | + | |
2608 | 2611 | | |
2609 | 2612 | | |
2610 | 2613 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6777 | 6777 | | |
6778 | 6778 | | |
6779 | 6779 | | |
| 6780 | + | |
6780 | 6781 | | |
6781 | 6782 | | |
6782 | | - | |
6783 | 6783 | | |
6784 | 6784 | | |
6785 | 6785 | | |
| |||
6805 | 6805 | | |
6806 | 6806 | | |
6807 | 6807 | | |
6808 | | - | |
| 6808 | + | |
6809 | 6809 | | |
| 6810 | + | |
6810 | 6811 | | |
6811 | 6812 | | |
6812 | 6813 | | |
| |||
6826 | 6827 | | |
6827 | 6828 | | |
6828 | 6829 | | |
| 6830 | + | |
6829 | 6831 | | |
6830 | 6832 | | |
6831 | 6833 | | |
| |||
6849 | 6851 | | |
6850 | 6852 | | |
6851 | 6853 | | |
| 6854 | + | |
6852 | 6855 | | |
6853 | 6856 | | |
6854 | 6857 | | |
| |||
6901 | 6904 | | |
6902 | 6905 | | |
6903 | 6906 | | |
6904 | | - | |
| 6907 | + | |
6905 | 6908 | | |
6906 | | - | |
| 6909 | + | |
6907 | 6910 | | |
| 6911 | + | |
6908 | 6912 | | |
6909 | 6913 | | |
6910 | 6914 | | |
| |||
6914 | 6918 | | |
6915 | 6919 | | |
6916 | 6920 | | |
6917 | | - | |
| 6921 | + | |
6918 | 6922 | | |
6919 | 6923 | | |
6920 | 6924 | | |
| |||
6950 | 6954 | | |
6951 | 6955 | | |
6952 | 6956 | | |
6953 | | - | |
| 6957 | + | |
| 6958 | + | |
6954 | 6959 | | |
6955 | 6960 | | |
6956 | 6961 | | |
| |||
9836 | 9841 | | |
9837 | 9842 | | |
9838 | 9843 | | |
| 9844 | + | |
9839 | 9845 | | |
9840 | 9846 | | |
9841 | 9847 | | |
| |||
9899 | 9905 | | |
9900 | 9906 | | |
9901 | 9907 | | |
9902 | | - | |
9903 | | - | |
9904 | | - | |
| 9908 | + | |
9905 | 9909 | | |
| 9910 | + | |
9906 | 9911 | | |
9907 | 9912 | | |
9908 | 9913 | | |
| |||
9946 | 9951 | | |
9947 | 9952 | | |
9948 | 9953 | | |
9949 | | - | |
| 9954 | + | |
9950 | 9955 | | |
9951 | 9956 | | |
9952 | 9957 | | |
| |||
10027 | 10032 | | |
10028 | 10033 | | |
10029 | 10034 | | |
| 10035 | + | |
10030 | 10036 | | |
10031 | 10037 | | |
10032 | 10038 | | |
| |||
12545 | 12551 | | |
12546 | 12552 | | |
12547 | 12553 | | |
| 12554 | + | |
12548 | 12555 | | |
12549 | | - | |
12550 | | - | |
12551 | | - | |
| 12556 | + | |
12552 | 12557 | | |
| 12558 | + | |
12553 | 12559 | | |
12554 | 12560 | | |
12555 | 12561 | | |
| |||
12593 | 12599 | | |
12594 | 12600 | | |
12595 | 12601 | | |
12596 | | - | |
| 12602 | + | |
12597 | 12603 | | |
12598 | 12604 | | |
12599 | 12605 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
219 | 219 | | |
220 | 220 | | |
221 | 221 | | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
222 | 228 | | |
223 | 229 | | |
224 | 230 | | |
| |||
245 | 251 | | |
246 | 252 | | |
247 | 253 | | |
| 254 | + | |
248 | 255 | | |
249 | 256 | | |
250 | 257 | | |
| |||
255 | 262 | | |
256 | 263 | | |
257 | 264 | | |
| 265 | + | |
258 | 266 | | |
259 | 267 | | |
260 | 268 | | |
| |||
379 | 387 | | |
380 | 388 | | |
381 | 389 | | |
| 390 | + | |
382 | 391 | | |
383 | 392 | | |
384 | 393 | | |
385 | 394 | | |
386 | 395 | | |
| 396 | + | |
387 | 397 | | |
388 | 398 | | |
389 | 399 | | |
| |||
441 | 451 | | |
442 | 452 | | |
443 | 453 | | |
| 454 | + | |
444 | 455 | | |
445 | 456 | | |
| 457 | + | |
446 | 458 | | |
447 | 459 | | |
448 | 460 | | |
| |||
728 | 740 | | |
729 | 741 | | |
730 | 742 | | |
| 743 | + | |
| 744 | + | |
731 | 745 | | |
732 | 746 | | |
733 | 747 | | |
| |||
769 | 783 | | |
770 | 784 | | |
771 | 785 | | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
772 | 832 | | |
773 | 833 | | |
774 | 834 | | |
| |||
2203 | 2263 | | |
2204 | 2264 | | |
2205 | 2265 | | |
| 2266 | + | |
| 2267 | + | |
2206 | 2268 | | |
2207 | 2269 | | |
2208 | 2270 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| 65 | + | |
| 66 | + | |
65 | 67 | | |
66 | 68 | | |
67 | 69 | | |
| |||
485 | 487 | | |
486 | 488 | | |
487 | 489 | | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
488 | 495 | | |
489 | 496 | | |
490 | 497 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
30 | 29 | | |
31 | | - | |
| 30 | + | |
32 | 31 | | |
33 | | - | |
| 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 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
0 commit comments