-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Exceptions: support Pulley #11486
Copy link
Copy link
Closed
Labels
pulleyIssues related to the Pulley interpreterIssues related to the Pulley interpreterwasm-proposal:exceptionsIssues for WebAssembly exceptions/exception-handlingIssues for WebAssembly exceptions/exception-handling
Metadata
Metadata
Assignees
Labels
pulleyIssues related to the Pulley interpreterIssues related to the Pulley interpreterwasm-proposal:exceptionsIssues for WebAssembly exceptions/exception-handlingIssues for WebAssembly exceptions/exception-handling
Type
Fields
Give feedbackNo fields configured for issues without a type.
The exception-handling support as implemented in #11326 does not yet support Pulley. It is almost there, but not quite:
raiselibcall implementation that Pulley uses does not account forUnwindState::UnwindToWasm. This means that we'll reach host-to-Wasm entry instead, with an unexpected unwind state, and panic.In this comment I outline an alternative approach: we should
raiselibcall, just as we do other libcalls, from Pulley;unwind, and eitherwasmtime_longjmp()orwasmtime_unwinder::resume_to_exception_handler(), we instead check the store's executor and