Commit 7fb8254
[wasm] Properly fix typing issue in WasmBeginCatch
The first attempt of fixing this was
commit 89691a1,
however this means we might end up not typing the inner outputs (the
tag's "elements" available inside the catch) which breaks the typer's
assumptions that everything gets typed.
Typing it with some dummy value can also lead to issues downstream (e.g.
by the next instruction taking now an input that isn't of the needed
type any more), so instead we solve this issue by always also adding a
signature as an input. As the signature is defined in Wasm, input
replacement can only happen with strict type checks, so it is safe to
rely on this.
It's a bit annoying for the WasmBeginCatch to take an extra input for
this specific problem, however, WasmBeginCatch is anyways related to the
"legacy" exception handling which isn't a properly spec'ed Wasm feature
but a "browsers have been shipping this without a finished spec" kind of
thing.
Bug: 448860865
Change-Id: I06638ccbb5ed0c9dbb7355ac198b7ace25f521b8
Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/9129497
Reviewed-by: Michael Achenbach <machenbach@google.com>
Auto-Submit: Matthias Liedtke <mliedtke@google.com>
Commit-Queue: Matthias Liedtke <mliedtke@google.com>1 parent 6bac790 commit 7fb8254
File tree
3 files changed
+33
-15
lines changed- Sources/Fuzzilli
- Base
- FuzzIL
3 files changed
+33
-15
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4092 | 4092 | | |
4093 | 4093 | | |
4094 | 4094 | | |
| 4095 | + | |
| 4096 | + | |
| 4097 | + | |
| 4098 | + | |
| 4099 | + | |
| 4100 | + | |
| 4101 | + | |
| 4102 | + | |
| 4103 | + | |
4095 | 4104 | | |
4096 | 4105 | | |
4097 | 4106 | | |
4098 | 4107 | | |
4099 | | - | |
| 4108 | + | |
4100 | 4109 | | |
4101 | 4110 | | |
| 4111 | + | |
4102 | 4112 | | |
4103 | 4113 | | |
4104 | 4114 | | |
4105 | | - | |
4106 | | - | |
| 4115 | + | |
| 4116 | + | |
4107 | 4117 | | |
4108 | 4118 | | |
4109 | 4119 | | |
| |||
4125 | 4135 | | |
4126 | 4136 | | |
4127 | 4137 | | |
| 4138 | + | |
| 4139 | + | |
| 4140 | + | |
| 4141 | + | |
| 4142 | + | |
| 4143 | + | |
| 4144 | + | |
| 4145 | + | |
| 4146 | + | |
4128 | 4147 | | |
4129 | 4148 | | |
4130 | 4149 | | |
4131 | 4150 | | |
4132 | | - | |
| 4151 | + | |
4133 | 4152 | | |
4134 | 4153 | | |
| 4154 | + | |
4135 | 4155 | | |
4136 | 4156 | | |
4137 | 4157 | | |
4138 | | - | |
4139 | | - | |
| 4158 | + | |
| 4159 | + | |
4140 | 4160 | | |
4141 | 4161 | | |
4142 | 4162 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
883 | 883 | | |
884 | 884 | | |
885 | 885 | | |
886 | | - | |
887 | | - | |
888 | | - | |
889 | | - | |
890 | | - | |
891 | | - | |
892 | | - | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
893 | 891 | | |
894 | 892 | | |
895 | 893 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1408 | 1408 | | |
1409 | 1409 | | |
1410 | 1410 | | |
1411 | | - | |
| 1411 | + | |
1412 | 1412 | | |
1413 | | - | |
| 1413 | + | |
1414 | 1414 | | |
1415 | 1415 | | |
1416 | 1416 | | |
| |||
0 commit comments