summaryrefslogtreecommitdiff
path: root/src/wasm/wasm-ir-builder.cpp
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2024-04-16 10:09:17 -0700
committerGitHub <noreply@github.com>2024-04-16 10:09:17 -0700
commite29d77848b89846cf3519491fee581b507e3b194 (patch)
treee4fa41f2c63638ba30aeb6f7ec84703bd0555a0e /src/wasm/wasm-ir-builder.cpp
parente4608772910d4d879b0a4783bacba3b4890b828c (diff)
downloadbinaryen-e29d77848b89846cf3519491fee581b507e3b194.tar.gz
binaryen-e29d77848b89846cf3519491fee581b507e3b194.tar.bz2
binaryen-e29d77848b89846cf3519491fee581b507e3b194.zip
CoalesceLocals: ReFinalize when we refine a type (#6502)
The code had a different workaround, namely to add a block with an explicit type to avoid changing the type at all (i.e. the block declared the original type of the thing we replaced, not the refined type). But by adding a block we can end up with an invalid pop, as the fuzzer found, see the EH testcase here. To fix this, use the usual workaround of just running ReFinalize. That is simpler and also improves the code while we do it. It does add more work, but this is likely a very rare situation anyhow.
Diffstat (limited to 'src/wasm/wasm-ir-builder.cpp')
0 files changed, 0 insertions, 0 deletions