Commit 23e1d51
authored
Fix loader parse block type and calculate dynamic offset for loop args (#3482)
Fix several issues in wasm loader:
- Parse a block's type index with leb int32 instead leb uint32
- Correct dst dynamic offset of loop block arguments for opcode br
when copying the stack operands to the arguments of loop block
- Free each frame_csp's param_frame_offsets when destroy loader ctx
- Fix compilation error in wasm_mini_loader.c
- Add test cases of failed issues
This PR fixes issue #3467 and #3468.1 parent 67638e2 commit 23e1d51
7 files changed
Lines changed: 139 additions & 32 deletions
File tree
- core/iwasm
- compilation
- fast-jit
- interpreter
- tests/regression/ba-issues
- issues
- issue-3467
- issue-3468
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1028 | 1028 | | |
1029 | 1029 | | |
1030 | 1030 | | |
1031 | | - | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
1032 | 1034 | | |
1033 | 1035 | | |
1034 | 1036 | | |
| |||
1048 | 1050 | | |
1049 | 1051 | | |
1050 | 1052 | | |
1051 | | - | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
1052 | 1056 | | |
1053 | 1057 | | |
1054 | 1058 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1510 | 1510 | | |
1511 | 1511 | | |
1512 | 1512 | | |
1513 | | - | |
| 1513 | + | |
| 1514 | + | |
| 1515 | + | |
1514 | 1516 | | |
1515 | 1517 | | |
1516 | 1518 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7086 | 7086 | | |
7087 | 7087 | | |
7088 | 7088 | | |
7089 | | - | |
| 7089 | + | |
| 7090 | + | |
7090 | 7091 | | |
7091 | 7092 | | |
7092 | 7093 | | |
| |||
7101 | 7102 | | |
7102 | 7103 | | |
7103 | 7104 | | |
7104 | | - | |
| 7105 | + | |
7105 | 7106 | | |
7106 | 7107 | | |
7107 | 7108 | | |
| |||
7850 | 7851 | | |
7851 | 7852 | | |
7852 | 7853 | | |
7853 | | - | |
| 7854 | + | |
| 7855 | + | |
| 7856 | + | |
| 7857 | + | |
| 7858 | + | |
7854 | 7859 | | |
7855 | 7860 | | |
7856 | 7861 | | |
| |||
8001 | 8006 | | |
8002 | 8007 | | |
8003 | 8008 | | |
| 8009 | + | |
8004 | 8010 | | |
8005 | | - | |
| 8011 | + | |
8006 | 8012 | | |
8007 | 8013 | | |
8008 | 8014 | | |
8009 | 8015 | | |
8010 | 8016 | | |
| 8017 | + | |
| 8018 | + | |
| 8019 | + | |
| 8020 | + | |
| 8021 | + | |
| 8022 | + | |
| 8023 | + | |
| 8024 | + | |
| 8025 | + | |
| 8026 | + | |
| 8027 | + | |
| 8028 | + | |
8011 | 8029 | | |
8012 | 8030 | | |
8013 | 8031 | | |
| |||
8126 | 8144 | | |
8127 | 8145 | | |
8128 | 8146 | | |
| 8147 | + | |
| 8148 | + | |
8129 | 8149 | | |
8130 | 8150 | | |
8131 | 8151 | | |
| |||
9238 | 9258 | | |
9239 | 9259 | | |
9240 | 9260 | | |
9241 | | - | |
9242 | | - | |
| 9261 | + | |
| 9262 | + | |
| 9263 | + | |
| 9264 | + | |
| 9265 | + | |
| 9266 | + | |
| 9267 | + | |
| 9268 | + | |
9243 | 9269 | | |
9244 | 9270 | | |
9245 | 9271 | | |
| |||
10623 | 10649 | | |
10624 | 10650 | | |
10625 | 10651 | | |
10626 | | - | |
10627 | | - | |
| 10652 | + | |
| 10653 | + | |
10628 | 10654 | | |
10629 | 10655 | | |
10630 | 10656 | | |
| |||
10638 | 10664 | | |
10639 | 10665 | | |
10640 | 10666 | | |
| 10667 | + | |
10641 | 10668 | | |
10642 | 10669 | | |
10643 | 10670 | | |
| |||
10690 | 10717 | | |
10691 | 10718 | | |
10692 | 10719 | | |
| 10720 | + | |
| 10721 | + | |
| 10722 | + | |
| 10723 | + | |
| 10724 | + | |
| 10725 | + | |
| 10726 | + | |
| 10727 | + | |
10693 | 10728 | | |
10694 | 10729 | | |
10695 | 10730 | | |
| |||
11062 | 11097 | | |
11063 | 11098 | | |
11064 | 11099 | | |
11065 | | - | |
| 11100 | + | |
11066 | 11101 | | |
11067 | 11102 | | |
11068 | 11103 | | |
11069 | | - | |
11070 | | - | |
| 11104 | + | |
| 11105 | + | |
11071 | 11106 | | |
11072 | 11107 | | |
11073 | 11108 | | |
| |||
11171 | 11206 | | |
11172 | 11207 | | |
11173 | 11208 | | |
11174 | | - | |
11175 | | - | |
| 11209 | + | |
| 11210 | + | |
11176 | 11211 | | |
11177 | 11212 | | |
11178 | 11213 | | |
| |||
11218 | 11253 | | |
11219 | 11254 | | |
11220 | 11255 | | |
11221 | | - | |
11222 | | - | |
| 11256 | + | |
| 11257 | + | |
11223 | 11258 | | |
11224 | 11259 | | |
11225 | 11260 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3451 | 3451 | | |
3452 | 3452 | | |
3453 | 3453 | | |
3454 | | - | |
| 3454 | + | |
3455 | 3455 | | |
3456 | 3456 | | |
3457 | 3457 | | |
| |||
3921 | 3921 | | |
3922 | 3922 | | |
3923 | 3923 | | |
3924 | | - | |
| 3924 | + | |
| 3925 | + | |
| 3926 | + | |
| 3927 | + | |
| 3928 | + | |
3925 | 3929 | | |
3926 | 3930 | | |
3927 | 3931 | | |
| |||
4050 | 4054 | | |
4051 | 4055 | | |
4052 | 4056 | | |
| 4057 | + | |
4053 | 4058 | | |
4054 | | - | |
| 4059 | + | |
4055 | 4060 | | |
4056 | 4061 | | |
4057 | 4062 | | |
4058 | 4063 | | |
4059 | 4064 | | |
| 4065 | + | |
| 4066 | + | |
| 4067 | + | |
| 4068 | + | |
| 4069 | + | |
| 4070 | + | |
| 4071 | + | |
| 4072 | + | |
| 4073 | + | |
| 4074 | + | |
| 4075 | + | |
| 4076 | + | |
4060 | 4077 | | |
4061 | 4078 | | |
4062 | 4079 | | |
| |||
4120 | 4137 | | |
4121 | 4138 | | |
4122 | 4139 | | |
| 4140 | + | |
| 4141 | + | |
4123 | 4142 | | |
4124 | 4143 | | |
4125 | 4144 | | |
| |||
4798 | 4817 | | |
4799 | 4818 | | |
4800 | 4819 | | |
4801 | | - | |
4802 | | - | |
| 4820 | + | |
| 4821 | + | |
| 4822 | + | |
| 4823 | + | |
| 4824 | + | |
| 4825 | + | |
| 4826 | + | |
| 4827 | + | |
4803 | 4828 | | |
4804 | 4829 | | |
4805 | 4830 | | |
| |||
5778 | 5803 | | |
5779 | 5804 | | |
5780 | 5805 | | |
5781 | | - | |
5782 | | - | |
| 5806 | + | |
| 5807 | + | |
5783 | 5808 | | |
5784 | 5809 | | |
5785 | 5810 | | |
| |||
5793 | 5818 | | |
5794 | 5819 | | |
5795 | 5820 | | |
| 5821 | + | |
5796 | 5822 | | |
5797 | 5823 | | |
5798 | 5824 | | |
| |||
5845 | 5871 | | |
5846 | 5872 | | |
5847 | 5873 | | |
| 5874 | + | |
| 5875 | + | |
| 5876 | + | |
| 5877 | + | |
| 5878 | + | |
| 5879 | + | |
| 5880 | + | |
| 5881 | + | |
5848 | 5882 | | |
5849 | 5883 | | |
5850 | 5884 | | |
| |||
6043 | 6077 | | |
6044 | 6078 | | |
6045 | 6079 | | |
6046 | | - | |
| 6080 | + | |
6047 | 6081 | | |
6048 | 6082 | | |
6049 | | - | |
6050 | | - | |
| 6083 | + | |
| 6084 | + | |
6051 | 6085 | | |
6052 | 6086 | | |
6053 | 6087 | | |
| |||
6134 | 6168 | | |
6135 | 6169 | | |
6136 | 6170 | | |
6137 | | - | |
6138 | | - | |
| 6171 | + | |
| 6172 | + | |
6139 | 6173 | | |
6140 | 6174 | | |
6141 | 6175 | | |
| |||
6175 | 6209 | | |
6176 | 6210 | | |
6177 | 6211 | | |
6178 | | - | |
6179 | | - | |
| 6212 | + | |
| 6213 | + | |
6180 | 6214 | | |
6181 | 6215 | | |
6182 | 6216 | | |
| |||
Binary file not shown.
Binary file not shown.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1674 | 1674 | | |
1675 | 1675 | | |
1676 | 1676 | | |
| 1677 | + | |
| 1678 | + | |
| 1679 | + | |
| 1680 | + | |
| 1681 | + | |
| 1682 | + | |
| 1683 | + | |
| 1684 | + | |
| 1685 | + | |
| 1686 | + | |
| 1687 | + | |
| 1688 | + | |
| 1689 | + | |
| 1690 | + | |
| 1691 | + | |
| 1692 | + | |
| 1693 | + | |
| 1694 | + | |
| 1695 | + | |
| 1696 | + | |
| 1697 | + | |
| 1698 | + | |
| 1699 | + | |
| 1700 | + | |
| 1701 | + | |
| 1702 | + | |
| 1703 | + | |
| 1704 | + | |
| 1705 | + | |
| 1706 | + | |
| 1707 | + | |
| 1708 | + | |
1677 | 1709 | | |
1678 | 1710 | | |
1679 | 1711 | | |
0 commit comments