-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Use MaybeUninit in libcore #54668
Use MaybeUninit in libcore #54668
Conversation
r? @dtolnay (rust_highfive has picked a reviewer for you, use r? to override) |
@bors try |
⌛ Trying commit 5f7792bf46e67c5e2277dbf3644e4ba5b34fac0f with merge 5e4ca24261a1348f3242d6885c8a286182b958b2... |
b80c934
to
e51b814
Compare
(Looks like try is done but there was no notification about that? @rust-lang/infra ) @rust-timer build 5e4ca24261a1348f3242d6885c8a286182b958b2 |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@rust-timer build 5e4ca24261a1348f3242d6885c8a286182b958b2 (And there is no good way to copy-paste the commit SHA in one step) |
Success: Queued 5e4ca24261a1348f3242d6885c8a286182b958b2 with parent 7e7bc06, comparison URL. |
r? @RalfJung |
@dtolnay Eh, I submitted this. I do not think I should review it.^^ |
I wasn't aware of a policy for re-submissions of reverted PRs that would let me r+ this even though I assembled the commits. And anyway I expect this PR will need changes because there will be perf regressions. But let's see. |
Perf results are in, this definitely looks to be the source of the regression. |
@RalfJung I don't know if this helps, but I don't see anything suspicious with this PR, so maybe the issue causing the regression is not here? One "suspicious" thing is that the regression happens in If you look at the disassembly of these tests and see a |
It's methods are generic though so
Where are you getting that from? Unfortunately I will not have much time to work on this this week. |
Indeed. The only way in which that could make a difference is if they call a non-generic function that is not
I thought most of the changes here were in |
e51b814
to
a573bfc
Compare
I might be doing the wrong thing, but I failed to reproduce the perf regression... in fact,
|
If I read the number correctly, the "-check" benchmark does not seem to be impacted. The red numbers are only in the "-opt" and "-debug" benchmarks |
Finished benchmarking try commit 4fe0b8e11185e30d88ba5f5060aadf25b5236ea0 |
Fix invalid bitcast taking bool out of a union represented as a scalar As reported in rust-lang#54668 (comment)
Code by @japaric, I just split it into individual commits
Code by @japaric, I just split it into individual commits
Code by @japaric, I just split it into individual commits
Code by @japaric, I just split it into individual commits
Code by @japaric, I just split it into individual commits
Code by @japaric, I just split it into individual commits
c400e50
to
59786b0
Compare
Unions got fixed, I rebased this PR. So, can we land this? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(I'm in no position to review, but i see no problem with this, and since it is required to stabilize MaybeUnitit, it'd be great to have it in as early as possible)
@bors r+ |
📌 Commit 59786b0 has been approved by |
☀️ Test successful - status-appveyor, status-travis |
Finally, awesome, thanks! |
All code by @japaric. This re-submits the second half of #53508 (the first half is at #54667). This is likely the one containing the perf regression.