Remove a stack frame from .await calls#70831
Conversation
|
(rust_highfive has picked a reviewer for you, use r? to override) |
|
@bors try @rust-timer queue |
|
Awaiting bors try build completion |
|
⌛ Trying commit 5dc8ec8 with merge c625e40f85b5b2f48f832564bf9dcdaeecc9a4fd... |
|
☀️ Try build successful - checks-azure |
|
Queued c625e40f85b5b2f48f832564bf9dcdaeecc9a4fd with parent b543afc, future comparison URL. |
|
It looks like the perf run finished but the bot didn't comment for some reason. |
|
Yeah, that happens sometimes sadly. |
| poll, | ||
| Poll, | ||
| poll_with_context, | ||
| get_context, |
There was a problem hiding this comment.
Can this be moved up to be in order.
|
@bors r+ |
|
📌 Commit 3ba3bd5 has been approved by |
|
☀️ Test successful - checks-azure |
This comment has been minimized.
This comment has been minimized.
37: Remove poll*with_context functions r=taiki-e a=taiki-e Based on rust-lang/rust#70831 Co-authored-by: Taiki Endo <te316e89@gmail.com>
37: Remove poll*with_context functions r=taiki-e a=taiki-e Based on rust-lang/rust#70831 Co-authored-by: Taiki Endo <te316e89@gmail.com>
The stack frames when
.awaiting one async fn from another currently look like this:Since the move away from using TLS to pass the Context around, it's now easy to remove frame 14 by removing poll_with_context in favor of calling Future::poll directly. This still leaves the
GenFutureframe, but that seems significantly harder to deal with.It also improves diagnostics a bit since they no longer talk about the private poll_with_context function.