WebAssembly / WebAssembly/binaryen
Support `try_table` in Flatten
Nobody has claimed this yet.
- Dominant language
- WebAssembly
- Stars
- 8.6k
- Forks
- 885
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 69
Description
Parsing a WASM module using wasm-opt containing a try_table instruction yields the error [parse exception: bad node code 31 (at 0:9801)]. --debug prints the contents of the module up to the end of the function before the one containing the try_table. --enable-exception-handling is on and the throw instruction compiles perfectly fine.
I searched quite a lot but couldn't find any information regarding this, is there any way to get modern exceptions working with wasm-opt?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the wasm-opt parse failure with a WASM module containing a try_table instruction and --enable-exception-handling enabled; use --debug to compare it with the preceding function and the working throw instruction. Trace the Flatten handling for try_table and verify that wasm-opt can parse and process the module successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- wasm
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100