Add a post about changes to WebAssembly targets#1385
Add a post about changes to WebAssembly targets#1385wesleywiser merged 5 commits intorust-lang:masterfrom
Conversation
This post is intended to be a summary of the changes and impact to users after discussion in rust-lang/rust#127513, rust-lang/rust#128511, and some surrounding issues.
|
I also wrote in a date of next Monday but that's just a date-out-of-a-hat, happy to adjust that too. |
jieyouxu
left a comment
There was a problem hiding this comment.
Thanks for the detailed blog post. The content LGTM in general, just some minor nits.
posts/2024-08-26-webassembly-targets-and-new-on-by-default-features.md
Outdated
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-and-new-on-by-default-features.md
Outdated
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-and-new-on-by-default-features.md
Outdated
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-and-new-on-by-default-features.md
Outdated
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-and-new-on-by-default-features.md
Outdated
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-and-new-on-by-default-features.md
Outdated
Show resolved
Hide resolved
|
Also in the blog post we use (target) features <-> proposals interchangeably, do we / should we stick with one for consistency? |
posts/2024-08-26-webassembly-targets-and-new-on-by-default-features.md
Outdated
Show resolved
Hide resolved
|
FYI @rust-lang/compiler blog post on behalf of T-compiler about wasm32 target changes |
jieyouxu
left a comment
There was a problem hiding this comment.
Thanks, a few tiny nits, otherwise looks much clearer to me 👍
posts/2024-08-26-webassembly-targets-change-in-default-target-features.md
Outdated
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-change-in-default-target-features.md
Outdated
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-change-in-default-target-features.md
Outdated
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-change-in-default-target-features.md
Outdated
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-change-in-default-target-features.md
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-change-in-default-target-features.md
Outdated
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-change-in-default-target-features.md
Outdated
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-change-in-default-target-features.md
Outdated
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-change-in-default-target-features.md
Outdated
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-change-in-default-target-features.md
Outdated
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-change-in-default-target-features.md
Outdated
Show resolved
Hide resolved
|
Should this mention the |
Could be mentioned in "Aside: ABI Stability and WebAssembly", but its pretty much unrelated to the exact topic at hand. |
|
Updated with more changes (thanks for the reviews!) I think I agree that |
posts/2024-08-26-webassembly-targets-change-in-default-target-features.md
Outdated
Show resolved
Hide resolved
|
I'll also note that the date currently listed in this PR is yesterday, so when this is ready for merge I'll update to fix the date just beforehand. |
|
@davidtwco or @wesleywiser Just wanted to check that this is on your radar to review/merge. |
wesleywiser
left a comment
There was a problem hiding this comment.
Converted mentions of nightly Rust to beta Rust or specifically Rust 1.82.
This looks good to me!
posts/2024-08-26-webassembly-targets-change-in-default-target-features.md
Outdated
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-change-in-default-target-features.md
Outdated
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-change-in-default-target-features.md
Outdated
Show resolved
Hide resolved
posts/2024-08-26-webassembly-targets-change-in-default-target-features.md
Outdated
Show resolved
Hide resolved
|
Sounds good! I moved the date to next Tuesday to give some wiggle room, but I'm happy to update the date if you're ok merging today too. |
wesleywiser
left a comment
There was a problem hiding this comment.
Tuesday sounds good to me!
|
Does LLVM and Rust use table instructions ( |
|
I'm not aware of LLVM emitting these instructions at this time, but I'm also not an LLVM expert in this regard. Given that the instructions are part of the reference-types proposal, though, it's possible they could be emitted by LLVM if codegen changes because it's enabled by default. I could add information about this, but I'm not sure if you're looking for anything in specific? For example unless an engine already supports the reference types proposal it can't parse the output of LLVM, so it's no different from before if the instructions are accessed? (I'm also hesitant to add much information here as I'm not intimately involved in LLVM changes in this regard to know about possible future plans around these instructions) |
|
+1 I would probably refrain from trying to describe the exact instructions generated, and defer that to the wasm proposals and/or llvm docs if there are any. |
|
I don't think it's necessary to include the bit about table instructions to publish. We could always amend the post in the future or create another post so I'm going to go ahead and merge this as-is. |
This post is intended to be a summary of the changes and impact to users after discussion in rust-lang/rust#127513, rust-lang/rust#128511, and some surrounding issues.
This was suggested to me by @jieyouxu after rust-lang/rust#128511 merged, but if this sort of content isn't appropriate here I'm happy to move it to the inside-rust blog or just summarize it on the PR itself and link to there. Otherwise happy to edit of course!
Also cc @daxpedda for double-checking this too.