[wasm32] Add an intrinsic for the throw instruction by coolreader18 · Pull Request #1542 · rust-lang/stdarch (original) (raw)
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Conversation9 Commits1 Checks0 Files changed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})
For use in rust-lang/rust#121438. I was conservative in the wording of the docs cause I feel like this is the right place to put the intrinsic, but it likely won't be stabilized (at least in its current state).
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @Amanieu (or someone else) some time within the next two weeks.
Compiling stdarch-test v0.1.0 (/checkout/crates/stdarch-test)
LLVM ERROR: undefined tag symbol cannot be weak
error: could not compile `core_arch` (lib test)
Ohh. Fair. I guess the other PR has to come first.
Ah. The test is failing because wasmtime doesn't have exception support yet :/
I guess I missed that testing locally, somehow.
Could run it in nodejs, I guess? Not really sure.
@Amanieu what are your thoughts on just not having a assert_instr
test for this?
That's probably fine for now, but should be addressed as soon as it can be tested in CI.
LGTM, now you just need to create a tracking issue in rust-lang/rust for this feature.
I was thinking of having it just be perma-unstable for the foreseeable future - the llvm intrinsic is likely to change, and I don't see it being super useful at least until panic=unwind via exception-handling is stable (+ llvm support for non-cpp exception tags). Atm it's more of just an implementation detail for libpanic_unwind to use. Maybe that doesn't discount that it should have a tracking issue, but idk.
Eh whatever, I'll make an issue.
tgross35 added a commit to tgross35/rust that referenced this pull request
… r=bjorn3
Use throw intrinsic from stdarch in wasm libunwind
Tracking issue: rust-lang#118168
This is a very belated followup to rust-lang#121438; now that rust-lang/stdarch#1542 is merged, we can use the intrinsic exported from core::arch
instead of defining it inline. I also cleaned up the cfgs a bit and added a more detailed comment.
tgross35 added a commit to tgross35/rust that referenced this pull request
… r=bjorn3
Use throw intrinsic from stdarch in wasm libunwind
Tracking issue: rust-lang#118168
This is a very belated followup to rust-lang#121438; now that rust-lang/stdarch#1542 is merged, we can use the intrinsic exported from core::arch
instead of defining it inline. I also cleaned up the cfgs a bit and added a more detailed comment.
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request
Rollup merge of rust-lang#131418 - coolreader18:wasm-exc-use-stdarch, r=bjorn3
Use throw intrinsic from stdarch in wasm libunwind
Tracking issue: rust-lang#118168
This is a very belated followup to rust-lang#121438; now that rust-lang/stdarch#1542 is merged, we can use the intrinsic exported from core::arch
instead of defining it inline. I also cleaned up the cfgs a bit and added a more detailed comment.
RalfJung pushed a commit to RalfJung/miri that referenced this pull request
Use throw intrinsic from stdarch in wasm libunwind
Tracking issue: #118168
This is a very belated followup to #121438; now that rust-lang/stdarch#1542 is merged, we can use the intrinsic exported from core::arch
instead of defining it inline. I also cleaned up the cfgs a bit and added a more detailed comment.