We add block signatures to blocks at the ends of functions in order to
satisfy the constraints around unreachable. The way we do so breaks down
with more complex cfgs, particularly those emitted by repeated calls to
setjmp/longjmp.
Change the fixup from adding a type signature, to adding an unreachable
instruction.
Details
Details
Diff Detail
Diff Detail
- Build Status
Buildable 786 Build 786: arc lint + arc unit
Event Timeline
Comment Actions
Abandoning this.
The underlying issue was in s2wasm's modeling of loops with type signatures (https://github.com/WebAssembly/binaryen/pull/810).
I still like this conceptually, but the difference is minor enough that the prudent thing is probably to leave it as-is.