Skip to content
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 and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 3 pull requests #132885

Merged
merged 6 commits into from
Nov 11, 2024
Merged

Rollup of 3 pull requests #132885

merged 6 commits into from
Nov 11, 2024

Conversation

jhpratt
Copy link
Member

@jhpratt jhpratt commented Nov 11, 2024

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

alexcrichton and others added 6 commits November 10, 2024 07:45
…` target features

For the `multivalue` and `reference-types` features this commit is
similar to rust-lang#117457 in that it's stabilizing target features specific to
WebAssembly targets. The previous PR left out these two features because
they weren't expected to change much about compiled code so it was
unclear what the rationale was. It has [since been discovered][blog]
that `reference-types` can be useful as it changes the binary format of
the `call_indirect` instruction. Additionally [on Zulip][zulip] there's
a use case of detecting these features at compile time and generating a
compile error to better warn users about features not supported on
engines.

This PR then additionally adds the `tail-call` feature which corresponds
to the [tail-call] proposal to WebAssembly. This feature advanced to
"phase 4" in the WebAssembly CG awhile back and has been supported in
LLVM for quite some time now. Engines are finishing up implementations
or have already shipped implementations, so while this is a bit of a
late addition to Rust itself it reflects the current status of
WebAssembly's state of the feature.

A test has been added here not only for these features but other
WebAssembly features as well to showcase that they're usable without
feature gates in stable Rust.

[blog]: https://blog.rust-lang.org/2024/09/24/webassembly-targets-change-in-default-target-features.html
[zulip]: https://rust-lang.zulipchat.com/#narrow/stream/122651-general/topic/wasm32.20reference-types.20.2F.20multivalue.20in.201.2E82-beta.20not.20enabled/near/473893987
[tail-call]: https://github.com/webassembly/tail-call
…arget-features, r=petrochenkov

Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features

For the `multivalue` and `reference-types` features this commit is
similar to rust-lang#117457 in that it's stabilizing target features specific to
WebAssembly targets. The previous PR left out these two features because
they weren't expected to change much about compiled code so it was
unclear what the rationale was. It has [since been discovered][blog]
that `reference-types` can be useful as it changes the binary format of
the `call_indirect` instruction. Additionally [on Zulip][zulip] there's
a use case of detecting these features at compile time and generating a
compile error to better warn users about features not supported on
engines.

This PR then additionally adds the `tail-call` feature which corresponds
to the [tail-call] proposal to WebAssembly. This feature advanced to
"phase 4" in the WebAssembly CG awhile back and has been supported in
LLVM for quite some time now. Engines are finishing up implementations
or have already shipped implementations, so while this is a bit of a
late addition to Rust itself it reflects the current status of
WebAssembly's state of the feature.

A test has been added here not only for these features but other
WebAssembly features as well to showcase that they're usable without
feature gates in stable Rust.

[blog]: https://blog.rust-lang.org/2024/09/24/webassembly-targets-change-in-default-target-features.html
[zulip]: https://rust-lang.zulipchat.com/#narrow/stream/122651-general/topic/wasm32.20reference-types.20.2F.20multivalue.20in.201.2E82-beta.20not.20enabled/near/473893987
[tail-call]: https://github.com/webassembly/tail-call
…-first-paragraph-85763, r=aDotInTheVoid

add regression test for rust-lang#85763

closes rust-lang#85763
… r=GuillaumeGomez

triagebot: Assign rustdoc tests to T-rustdoc.

Should avoid situations like rust-lang#132871, which got assigned to mark (via fallback) despite being a rustdoc change.

For now, I've assigned all our testsuites to the rustdoc group (whoever from T-Rustdoc is on review rotation), except the json one which is assigned to me.

CC `@rust-lang/rustdoc`

r? `@GuillaumeGomez`
@rustbot rustbot added A-meta Area: Issues & PRs about the rust-lang/rust repository itself S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Nov 11, 2024
@jhpratt
Copy link
Member Author

jhpratt commented Nov 11, 2024

@bors r+ rollup=never p=3

@bors
Copy link
Contributor

bors commented Nov 11, 2024

📌 Commit 8253484 has been approved by jhpratt

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 11, 2024
@bors
Copy link
Contributor

bors commented Nov 11, 2024

⌛ Testing commit 8253484 with merge fbcdd72...

@bors
Copy link
Contributor

bors commented Nov 11, 2024

☀️ Test successful - checks-actions
Approved by: jhpratt
Pushing fbcdd72 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Nov 11, 2024
@bors bors merged commit fbcdd72 into rust-lang:master Nov 11, 2024
7 checks passed
@rustbot rustbot added this to the 1.84.0 milestone Nov 11, 2024
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#131080 Stabilize WebAssembly multivalue, reference-types, and … 0060a876aa4833cff31c212e19dcebf4f4f9c122 (link)
#132871 add regression test for #85763 8ffc0e7eae9d140c9e55c055e3320b081e1c309e (link)
#132878 triagebot: Assign rustdoc tests to T-rustdoc. 5e292456561da466efad7d6534146b825a24f965 (link)

previous master: 42b2496320

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (fbcdd72): comparison URL.

Overall result: ❌✅ regressions and improvements - please read the text below

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.8% [2.8%, 2.8%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.0% [-5.1%, -0.5%] 3
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 1.3%, secondary -4.7%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
3.6% [2.5%, 4.7%] 2
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-3.3% [-3.3%, -3.3%] 1
Improvements ✅
(secondary)
-4.7% [-4.7%, -4.7%] 1
All ❌✅ (primary) 1.3% [-3.3%, 4.7%] 3

Cycles

Results (primary 2.5%, secondary 1.9%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
2.5% [2.5%, 2.5%] 1
Regressions ❌
(secondary)
1.9% [1.9%, 1.9%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 2.5% [2.5%, 2.5%] 1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 786.761s -> 785.591s (-0.15%)
Artifact size: 335.30 MiB -> 335.31 MiB (0.01%)

@rustbot rustbot added the perf-regression Performance regression. label Nov 11, 2024
@lqd
Copy link
Member

lqd commented Nov 11, 2024

Nothing substantial changed in this PR, so this should be noise that should calm down in the next merge. We'll see.

The deep-vector improvement is also a blip from the previous merge noise regression.

@jhpratt jhpratt deleted the rollup-4ddd31p branch November 11, 2024 09:47
@Mark-Simulacrum Mark-Simulacrum removed the perf-regression Performance regression. label Nov 11, 2024
mati865 pushed a commit to mati865/rust that referenced this pull request Nov 12, 2024
Rollup of 3 pull requests

Successful merges:

 - rust-lang#131080 (Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features)
 - rust-lang#132871 (add regression test for rust-lang#85763)
 - rust-lang#132878 (triagebot: Assign rustdoc tests to T-rustdoc.)

r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-meta Area: Issues & PRs about the rust-lang/rust repository itself merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants